Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C# Asp.net Core에서 UseIISIntegration은 무엇을 사용합니까?

<시간/>

모든 ASP.NET Core 응용 프로그램에는 기본적으로 응용 프로그램 및 웹 서버 역할을 하는 WebHost 개체가 필요합니다. WebHostBuilder는 WebHost를 구성하고 생성하는 데 사용됩니다. 일반적으로 WebHostBuilder 설정 코드에서 UseKestrel() 및 UseIISIntegration()을 볼 수 있습니다.

무엇을 합니까?

Kestrel() 사용 − 이렇게 하면 Kestrel의 IServer 인터페이스가 애플리케이션을 호스팅하는 데 사용할 서버로 등록됩니다.

미래에는 Windows 전용인 WebListener를 포함하여 다른 옵션이 있을 수 있습니다.

IISI통합() 사용 − 이것은 IIS가 Kestrel 앞에서 역방향 프록시로 작동할 것임을 ASP.NET에 알려줍니다.

그런 다음 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에서 out-of-process로 호스팅되었으며 응용 프로그램에 대해 두 가지 프로세스가 있었습니다. -

w3wp.exe, IIS 프로세스

dotnet.exe, Kestrel 웹 서버가 시작된 ASP.NET Core 프로세스. 이는 IIS와 Kestrel이 두 프로세스 간에 통신하고 있음을 의미합니다.

이 시나리오에서는 UseIISIintegration을 사용합니다.