iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 5
1
Modern Web

.Net Core 網站開發 101系列 第 5

ASP.NET Core 網頁應用程式結構

ASP.NET Core 的網頁應用程式其實是一個在 Main 方法中建立網頁伺服器的主控台應用程式。(有點像 Node.js 的 listen port?)

Main 方法

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

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

Main 方法中會呼叫 WebHost.CreateDefaultBuilder,採用生成器模式 (builder pattern) 來建立一個網頁伺服器。這個 builder 包含定義網頁伺服器 (UseKestrel) 和定義啟動類別 (UseStartup) 等方法。在範本建立的專案中,WebHost.CreateDefaultBuilder 中已經有呼叫 UseKestrel,如果採用預設值的話可以不用特別設定。啟動時會嘗試在 IIS 上執行。

WebHost.CreateDefaultBuilder 回傳 IWebHostBuilder 類別,其中有許多方法可以對伺服器有更多設定,完整列表可以參考官方文件Build 方法會建立 IWebHost 物件,Run 方法則是掛載應用程式後開始監聽請求。

參考資料


接下來幾天會再介紹這些部分:


上一篇
用 Visual Studio 來開發
下一篇
Startup 啟動類別
系列文
.Net Core 網站開發 10131

尚未有邦友留言

立即登入留言