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

C# ASP.NET Core 프로젝트에서 Program.cs 파일의 목적은 무엇입니까?

<시간/>

ASP.NET Core 웹 애플리케이션은 실제로 웹 애플리케이션에 대한 호스트를 생성할 수 있는 Program 클래스의 진입점 public static void Main()에서 실행을 시작하는 콘솔 프로젝트입니다.

public class Program{
   public static void Main(string[] args){
      BuildWebHost(args).Run();
   }
   public static IWebHost BuildWebHost(string[] args) =>
   WebHost.CreateDefaultBuilder(args)
   .UseStartup<startup>()
   .Build();
}

웹호스트 미리 구성된 기본값으로 IWebHost 및 IWebHostBuilder의 인스턴스를 만드는 데 사용할 수 있는 정적 클래스입니다.

CreateDefaultBuilder() 메서드는 미리 구성된 기본값으로 WebHostBuilder의 새 인스턴스를 만듭니다. 내부적으로

Kestrel, IISIntegration 및 기타 구성을 구성합니다. 다음은 isCreateDefaultBuilder() 메서드입니다.

  • "콘텐츠 루트"를 현재 디렉토리로 설정
  • 명령줄 인수를 구성 개체로 푸시할 수 있습니다.
  • 구성 개체에 로드할 appsettings.json 및 appsettings.{Environment}.json을 모두 추가합니다.
  • 구성 개체에 환경 변수 추가
  • 개발 중인 경우 비밀 로드를 허용합니다.
  • 콘솔/디버그 로거 추가
  • 앱에 Kestrel을 사용하고 loadedconfig에서 Kestrel 구성을 로드하도록 지시합니다.
  • 라우팅 추가
  • IIS 통합 추가

애플리케이션을 iis에 호스팅하려면 UseIISIntegration()을 추가해야 합니다. 메서드는 IIS를 외부 웹 서버로 지정합니다.

Startup () 사용 메소드는 웹 호스트에서 사용할 Startup 클래스를 지정합니다. 시작 위치에 사용자 지정 클래스를 지정할 수도 있습니다.

빌드() 메서드는 IWebHost의 인스턴스를 반환하고 Run()은 웹 응용 프로그램이 중지될 때까지 시작합니다.