iis搭建asp.net core环境

Tilo Mitra's avatar

asp.net core是全新一代.net的产物,支持跨平台。但是与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,IIS则是作为反向代理的角色转发请求到Kestrel不同端口的ASP.NET Core程序中,随后就将接收到的请求推送至中间件管道中去,处理完你的请求和相关业务逻辑之后再将HTTP响应数据重新回写到IIS中,最终转达到不同的客户端(浏览器,APP,客户端等)。而配置文件和过程都会由些许调整,中间最重要的角色便是AspNetCoreModule,它是其中一个的IIS模块,请求进入到IIS之后便立即由它转发,并迅速重定向到ASP.NET Core项目中,所以这时候我们无需设置应用程序池来托管我们的代码,它只负责转发请求而已。
需要安装一些东西。就是asp.net core运行环境和iis模块。

第一步

.netcore3.1sdk下载
.netcoreiis模块下载

第二步

接下来就是配置iis了。首先打开iis,在主页上找到"模块",双击进入。

确保里面有这一条:

第三步

接下来就是在程序池中添加无托管

第四步,注意这一步容易出错!

点开这个自定义程序池的高级设置,将"启用32位应用程序"设置为false。一定要注意这一步!不然运行时会出错。

第五步

现在就好办了,和其它的部署一样。设置网站的"基本设置"(应用程序池设置刚刚创建的),并且选定,绑定好物理路径;绑定域名设置端口。然后,设置文件夹的权限。然后你的第一个asp.net core应用就部署完成了。