asp.net core项目发布到 iis上

我们都知道与传统asp.net 项目比较,ASP.NET Core则完全不同,它并不是运行在IIS的工作进程中,而是独立运行的。它运行于控制台应用程序之中,控制台中则运行了Kestrel Web服务器组件。Kestrel作为一款.NET Web服务器的实现,它在吞吐量性能方面做了很多工作。它可以快速将来自网络的请求接入到应用程序中,但是它仅仅是一个最基本的Web服务器。它没有类似IIS的Web管理服务,也没有IIS那么多的功能。

ASP.NET Core程序独立运行在控制台应用程序中,并通过dotnet运行时命令调用。它并没有被加载到IIS工作进程中,但是IIS却加载了名为AspNetCoreModule的本地Module,这个Module用于执行外部的控制台程序。AspNetCoreModule是作为ASP.NET Core Server Hosting Bundle的一部分被安装在服务器上的。

安装 .NET Core 托管捆绑包

在托管系统上安装 .NET Core 托管捆绑包。 捆绑包可安装 .NET Core 运行时、.NET Core 库和 ASP.NET Core 模块。 该模块允许 ASP.NET Core 应用在 IIS 后面运行。

使用以下链接下载安装程序:

当前 .NET Core 托管捆绑包安装程序(直接下载)

  1. 在 IIS 服务器上运行安装程序。

  2. 重启服务器或在命令行界面中执行 net stop was /y,接着执行 net start w3svc

安装好了后,如果你在IIS上模块里面看到AspNetCoreModule,表示安装成功:

在IIS上绑定添加网站

添加一个网站,设置一下名称,并将路径指向你刚才发布的文件夹,然后启动网站即可

设置应用程序池的.NET CLR版本为"无托管代码",因为刚才也说了,IIS是作为一个反向代理的角色,并不需要它来托管代码:

浏览网站

发布成功!!!

相关推荐
Kiyra2 分钟前
异步任务不用 Kafka 也行:用 Redis Stream 搭一套轻量级 Producer/Consumer 框架
数据库·人工智能·redis·分布式·后端·缓存·kafka
进阶的猿猴4 分钟前
Rsa简单实现接口到期限制(springBoot)
java·spring boot·后端
Mortalbreeze5 分钟前
深度理解进程 ---- 进程优先级、进程切换、进程调度算法
linux·运维·服务器
Java编程爱好者6 分钟前
MySQL / PostgreSQL DDL 审核自动化:从人工 review 到 CI 拦截
后端
故事还在继续吗8 分钟前
线程池技术详解
运维·服务器·线程池技术
SamDeepThinking22 分钟前
千万级用户购物车系统的架构设计
java·后端·架构
chengpei14722 分钟前
服务器挂载远程samba磁盘实现千兆内网满速传输
运维·服务器
WUYOUGYLU24 分钟前
服务器选型、计费与运维:一篇给实战用的指南
运维·服务器
明月_清风26 分钟前
Makefile 完全指南:从入门到 CMake 工程化实践
后端·cmake
在角落发呆27 分钟前
转发服务器设置,转发服务器如何设置
运维·服务器