.NET绿叶社区!
返回

ASP.NET Core在IIS发布的两种方式

2020-07-03 .NET Core IIS 114 0

ASP.NET Core在IIS发布首先需要安装.NET Core托管捆绑包。

微软官网下载地址:https://dotnet.microsoft.com/download/dotnet-core/thank-you/runtime-aspnetcore-3.1.5-windows-hosting-bundle-installer

ASP.NET Core在IIS发布的两种方式

下载之后需要重启IIS服务,重启服务可以在命令行界面中执行 net stop was /y,后跟 net start w3svc 。

安装完成,并且重启服务后,再IIS里添加一个站点。和传统IIS一样配置好端口和路径就可以正常访问了。

因为这里发布的是.NET Core项目,所以将应用池设置里的.NET CLR把那本设置为无托管代码,如下图

ASP.NET Core在IIS发布的两种方式

部署到IIS有两种方式:进程内托管,进程外托管。一般推荐使用的是进程内托管,就是上面这种。下面内容大家可以了解以下,不推荐使用进程外托管。

进程内托管

ASP.NET Core在IIS发布的两种方式

进程管理器(IIS和Windows服务),收到请求的时候启用应用,并且在应用发生故障的时候负责重启。请求直接到应用(IIS集成)。

进程外托管

ASP.NET Core在IIS发布的两种方式

进程外多了一层转发,通过环回适配器(网络接口,用于将传出的网络流量返回给同一计算机)转发

给Kestrel,这里有性能损失。

进程外配置还需要修改web.config文件。将hostingModel改为outofprocess。

ASP.NET Core在IIS发布的两种方式

也可以在项目里修改,这样发布的时候web.config自动就是outofprocess了。

ASP.NET Core在IIS发布的两种方式

使用进程内托管的话,在任务管理器里只会有一个IIS Worker Process进程,如果使用进程外托管的话会有一个IIS Worker Process和一个.NET Core Host进程。

点赞 收藏

顶部