C# ASP.NET Core 專案中 Program.cs 檔案的作用是什麼?


ASP.NET Core web 應用程式實際上是一個控制檯專案,它從 Program 類中的入口點 public static void Main() 開始執行,在這裡我們可以為 web 應用程式建立一個主機。

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

**WebHost** 是一個靜態類,可用於建立具有預配置預設值的 IWebHost 和 IWebHostBuilder 例項。

**CreateDefaultBuilder()** 方法建立具有預配置預設值的 WebHostBuilder 的新例項。在內部,

它配置 Kestrel、IISIntegration 和其他配置。以下是 CreateDefaultBuilder() 方法。

  • 將“內容根目錄”設定為當前目錄
  • 允許將命令列引數推送到您的配置物件中
  • 新增 appsettings.json 和 appsettings.{Environment}.json 以載入到配置物件中
  • 將環境變數新增到配置物件
  • 如果處於開發環境,則允許載入機密。
  • 新增控制檯/除錯日誌記錄器
  • 告訴應用程式使用 Kestrel 並從載入的配置中載入 Kestrel 配置
  • 新增路由
  • 新增 IIS 整合

當我們想要將應用程式託管到 IIS 中時,我們需要新增 **UseIISIntegration()** 方法,該方法指定 IIS 作為外部 web 伺服器。

**UseStartup<startup>()** 方法指定 web 主機要使用的 Startup 類。我們也可以指定我們自定義的類來代替 startup。

**Build()** 方法返回 IWebHost 例項,而 Run() 啟動 web 應用程式直到它停止。

更新於:2020年9月25日

1K+ 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告