Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Công Dụng Của UseIISIntegration Trong C# ASP.NET Core


Tất cả ứng dụng ASP.NET Core yêu cầu đối tượng WebHost về cơ bản đóng vai trò ứng dụng và máy chủ web. WebHostBuilder dùng để cấu hình và tạo WebHost. Bạn thường thấy UseKestrel() và UseIISIntegration() trong mã thiết lập WebHostBuilder.

Chúng Làm Gì?

UseKestrel() − Đăng ký interface IServer cho Kestrel làm máy chủ sẽ được dùng để host ứng dụng của bạn.

Trong tương lai, có thể có các lựa chọn khác, bao gồm WebListener chỉ dành cho Windows.

UseIISIntegration() − Điều này báo cho ASP.NET biết rằng IIS sẽ làm reverse proxy trước Kestrel.

Điều này sau đó chỉ định một số cài đặt về cổng Kestrel nên lắng nghe, chuyển tiếp header, và các chi tiết khác.

Ví Dụ

public class Program{ 
    public static void Main(string[] args){ 
        var host = new WebHostBuilder() 
        .UseKestrel() 
        .UseContentRoot(Directory.GetCurrentDirectory()) 
        .UseIISIntegration() 
        .UseStartup() 
        .Build(); 
        host.Run(); 
    } 
}

Cho đến ASP.NET Core 2.2, ASP.NET Core được host out-of-process trong IIS, chúng ta có hai quy trình cho một ứng dụng −

w3wp.exe, quy trình IIS

dotnet.exe, quy trình ASP.NET Core, nơi Kestrel web server được khởi động. Điều này có nghĩa là IIS và Kestrel giao tiếp giữa hai quy trình đó.

Đối với kịch bản này, chúng ta dùng UseIISIntegration.