在 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。
廣告