1. 程式人生 > >ASP.NET Core 2.2 基礎知識(八) 主機 (未完待續)

ASP.NET Core 2.2 基礎知識(八) 主機 (未完待續)

主機負責應用程式啟動和生存期管理.共有兩個主機 API :

1.Web 主機 : 適用於託管 Web 應用,基於 IWebHostBuilder ;

2.通用主機 : 適用於託管非 Web 應用. 基於 HostBuilder .

官方:

通用主機的目標是將 HTTP 管道從 Web 主機 API 中分離出來,從而啟用更多的主機方案。 基於通用主機的訊息、後臺任務和其他非 HTTP 工作負載可從橫切功能(如配置、依賴關係注入 [DI] 和日誌記錄)中受益

通用主機是 ASP.NET Core 2.1 中的新增功能,不適用於 Web 承載方案。 對於 Web 承載方案,請使用 Web 主機。通用主機正處於開發階段,用於在未來版本中替換 Web 主機,並在 HTTP 和非 HTTP 方案中充當主要的主機 API。

Web 主機

    public class Program
    {
        public static void Main(string[] args)
        {
            CreateWebHostBuilder(args).Build().Run();
        }

        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseStartup
<Startup>(); }


CreateDefaultBuilder 方法執行了很多重要任務:

1.將 Kesstrel 配置為 Web 伺服器;

2.載入主機配置;

3.通過以下物件載入應用配置:

  • appsetting.json.
  • appsettings.{Environment}.json.
  • 開發環境下的使用者機密.
  • 環境變數.
  • 命令列引數

4.配置控制檯和調式輸出的日誌記錄;

5.啟用IIS整合.

 

 

未完待續...