概述
微软在ASP.Net Core 1.0后Web应用开始支持跨平台,支持Linux平台,不直接完全依赖Win server + IIS了。后面.Net Core应用使用自带的 Kestrel 服务器运行Web应用,IIS 或 Nginx方式方向代理到 Kestrel 服务器上。
.Net Core应用部署在Win Server的IIS服务器操作_第1张图片
以下为Win Server服务器发布 ASP.NET Core 应用到 IIS 的操作步骤
环境
Win server 2012R2
Net Core 3.1
Win server 2012 IIS管理器
操作步骤

  1. Win server安装.Net Core模块
    官网下载ASP.Net Core模块 ASP.Net Core Module请添加链接描述 模块,选择 Current .NET Core Hosting Bundle installer (direct download) 直接下载。
    安装后,进入IIS,找到模块查看:
    .Net Core应用部署在Win Server的IIS服务器操作_第2张图片
  2. 重启生效
    安装好.Net Core模块使之生效。重启OS系统或执行如下命令生效。
    net stop was /y
    net start w3svc
  3. 发布Web应用
    发布应用程序时,注意IIS应用程序池的.Net CLR版本选择“无代码托管” ,如下图所示:
    .Net Core应用部署在Win Server的IIS服务器操作_第3张图片
    这里WinServer的 IIS 只是作为一个反向代理服务器,并不真正处理任何请求,所有请求都会转发给后端.Net Core的 Kestrel 服务器来处理。
    以上参考:https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-3.1#install-the-net-core-hosting-bundle