2021年3月21日 星期日

ASP.NET Core 3.1 初探

這系列主要針對 asp.net 3.1 的使用經驗以及測試歷程紀錄下來,將之前概略的筆記

整理一下並產出文章,未來也方便自己查找(回想)。


首先建立空專案,先選ASP.NET Core Web 應用程式





成功建立後,方案總管檔案結構


這時按F5,跑看看


或使用postman 檢視


以上為建立專案後最初的狀況。


接著說明程式執行流程


由方案總管可以看到 Program.cs 與 Startup.cs 兩個類別檔,程式會由 Program.cs 的 Main 

函式為進入點,如下圖。



其中 Main 裡面會呼叫 CreateHostBuilder 函式,這邊主要是建立WebHost,

使用  Host.CreateDefaultBuilder 方式,並且設定 ConfigureWebHostBuilder方法

傳入 callback 為 UseStartup<Startup>() 方法,最後會是Run 方法。


接著來看 Startup 類別


裡面有兩個方法  ConfigureServices、Configure,其中呼叫的順序如圖上標示,為了確認以下加入文字顯示


按F5執行,並調整輸出視窗的來源為目前「專案」


回頭來說明這兩個方法中,各自負責的職責是甚麼


ConfigureServices(IServiceCollection services) 方法:


這個方法中可以加入相關 service 到Container中(關於容器的使用後續文章再說明,亦可參考官方說明),

方法上方也有提供連結文中有更詳細的說明


Configure(IApplicationBuilder app, IWebHostEnvironment env) 方法:


這個方法中可以設定HTTP Request Pipeline ,而程式碼中的 app.UseDeveloperExceptionPage()、app.UseRouting()、app.UseEndpoints() 便是在組裝 Middleware,亦可加入自訂Middleware,

(關於Middleware 的說明,後續文章再說明,亦可參考官方說明)。這邊檢視app.UseRouting() 內容

如下圖


若追進方法內容,例如 app.UseRouting 可以看出最後呼叫RoutingMiddleware。


簡單說明,在Configure 方法可以設定 Http Request 及Response Pipeline 的Middleware 元件。


網站參數設定檔:


之前設定都是透過 Web.config 而在ASP.NET Core 則是使用 appsettings.json ,其中若是開發的話應

使用 appsettings.Development.json,後續會再針對不同環境如何置換對應的設定檔詳細介紹。


專案參數設定檔:

透過 launchSettings.json 檔案設定,如下圖所示


亦可透過專案屬性頁設定,如下圖。


以上是對於 asp.net core 專案的初步認識,知道了程式流程及一些設定意義


沒有留言:

張貼留言