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