与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,IIS则是作为反向代理的角色转发请求到Kestrel不同端口的ASP.NET Core程序中,随后就将接收到的请求推送至中间件管道中去,处理完你的请求和相关业务逻辑之后再将HTTP响应数据重新回写到IIS中,最终转达到不同的客户端(浏览器,APP,客户端等)。而配置文件和过程都会由些许调整,中间最重要的角色便是AspNetCoreModule,它是其中一个的IIS模块,请求进入到IIS之后便立即由它转发,并迅速重定向到ASP.NET Core项目中.在托管系统上安装 .NET Core 托管捆绑包。 捆绑包可安装 .NET Core 运行时、.NET Core 库和 ASP.NET Core 模块。 该模块允许 ASP.NET Core 应用在 IIS 后面运行。
准备
IIS 必须安装AspNetCoreModule 模块,下载地址(地址可能会变) https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/index?view=aspnetcore-2.2,安装.NET Core 托管捆绑包
发布
右键单击web项目 >> 发布 >> 选择【文件系统】 >> 放到随便一个文件夹
Internet Information Services (IIS)管理器安装
Windows功能 >> 启用或关闭Windows功能(windows10可以直接搜索到) >> Internet Information Service打开 >> 保存
IIS配置
网站右键 >> 添加网站 >> 保存
配置hosts
hosts文件所在位置C:WindowsSystem32driversetc
添加自己的网址,例如: 127.0.0.1 www.test.cn