練習:在本機執行 Web 應用程式
在本練習中,您將會:
- 在本機執行您的 Web 應用程式,並在瀏覽器中檢視它。
- 檢閱如何提供 Web 應用程式。
在瀏覽器中執行 Web 應用程式並檢視
在 Visual Studio Code 中執行 Web 應用程式,並在瀏覽器中檢視:
在 Visual Studio Code 中,按 F5 以執行應用程式。
Visual Studio Code:
- 觸發 .NET CLI 命令
dotnet run,以建置和執行應用程式。 - 將偵錯工具附加至執行中的應用程式。
第一次在 Visual Studio Code 中執行專案時,會顯示選取偵錯工具提示。
- 觸發 .NET CLI 命令
在 Visual Studio Code UI 頂端 [命令選擇區] 的選取偵錯工具提示中,選取 [C#]。 在下一個提示中,選取預設啟動設定 (
C#: MyWebApp [Default Configuration]):
預設瀏覽器是在
http://localhost:{PORT}啟動,這會顯示應用程式的回應。{PORT}佔預留位置是建立應用程式專案時指派給應用程式的隨機埠。 如果由於本機連接埠衝突而需要變更連接埠,請在專案的 Properties/launchSettings.json 檔案中變更連接埠。在瀏覽器顯示的回應:
關閉瀏覽器視窗。
在 Visual Studio 中,執行下列其一:
- 從 [執行] 功能表中,選取 [停止偵錯]。
- 在鍵盤上按 Shift+F5。
使用 .NET CLI 執行 Web 應用程式:
從終端機或命令行,瀏覽至包含您的 MyWebApp.csproj 檔案的 MyWebApp 專案目錄。
使用下列命令建置並執行應用程式:
dotnet run專案即建置、執行,並在命令列上顯示下列輸出:
C:\MyWebApp> dotnet run Building... info: Microsoft.Hosting.Lifetime[14] Now listening on: http://localhost:5267 info: Microsoft.Hosting.Lifetime[0] Application started. Press Ctrl+C to shut down.由於在專案建立時,提供的 URL 中的埠號碼會隨機設定,因此您的端點可能會有不同的埠號碼。
開啟瀏覽器連至您自己的命令列輸出產生的 URL,應用程式的回應
Hello World!隨即顯示。
若要關閉應用程式,請在命令行上按 Ctrl+C。
如何提供 Web 應用程式
建置並執行應用程式時,會發生下列步驟:
建置和設定:
- MSBuild 會叫用來還原相依性並編譯專案。 MSBuild 會處理 MyWebApp.csproj 專案檔案,並將原始程式碼編譯成組件。
- 應用程式會讀取組態設定,包括在launchSettings.json中指定的預設啟動配置檔設定(為列出的第一個設定)。
主機設定:
-
WebApplication.CreateBuilder中的 方法會設定 Web 主機。 根據預設,此方法會將 Kestrel 設定為網頁伺服器。 Kestrel 是一個跨平臺的網頁伺服器,適用於專為高效能而設計的 ASP.NET Core。 - Kestrel 會開始接聽所設定 URL 上的連入 HTTP 要求,包括指定的 HTTPS。
要求處理:
- 收到要求時,Kestrel 會將它轉送至 ASP.NET Core 中介軟體管線。
- 中介軟體管線會透過一系列中介軟體元件來處理要求,這些元件可以處理驗證、記錄和路由等工作。
- 如果要求符合定義的路由,則會執行對應的端點。 在這個情況下,
app.MapGet("/", () => "Hello World!")端點會處理根 URL 的要求,並傳回字串Hello World!。
回應:
- 在此案例中,回應是字串 "Hello World!",會透過中介軟體管線傳回 Kestrel,其再將它傳回給用戶端。