在 C# Asp.net Core 中,UseIISIntegration 的作用是什么?
所有 ASP.NET Core 应用程序都需要一个 WebHost 对象,该对象本质上充当应用程序和 Web 服务器。WebHostBuilder 用于配置和创建 WebHost。通常,您会在 WebHostBuilder 设置代码中看到 UseKestrel() 和 UseIISIntegration()。
这些方法的作用是什么?
UseKestrel() − 此方法将 Kestrel 的 IServer 接口注册为用于托管应用程序的服务器。
将来,可能会有其他选项,包括仅限 Windows 的 WebListener。
UseIISIntegration() − 此方法告诉 ASP.NET,IIS 将作为 Kestrel 前面的反向代理工作。
然后,它会指定一些关于 Kestrel 应监听哪个端口、转发标头和其他详细信息的设置。
示例
public class Program{
public static void Main(string[] args){
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup()
.Build();
host.Run();
}
}在 ASP.NET Core 2.2 之前,ASP.NET Core 在 IIS 中以非进程方式托管,一个应用程序有两个进程 −
w3wp.exe, IIS 进程
dotnet.exe, ASP.NET Core 进程,其中启动了 Kestrel Web 服务器。这意味着 IIS 和 Kestrel 在这两个进程之间进行通信。
对于这种情况,我们使用 UseIISIntegration。
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP