練習:在本機執行 Web 應用程式

已完成

在本練習中,您將會:

  • 在本機執行您的 Web 應用程式,並在瀏覽器中檢視它。
  • 檢閱如何提供 Web 應用程式。

在瀏覽器中執行 Web 應用程式並檢視

在 Visual Studio Code 中執行 Web 應用程式,並在瀏覽器中檢視:

  1. 在 Visual Studio Code 中,按 F5 以執行應用程式。

    Visual Studio Code:

    • 觸發 .NET CLI 命令 dotnet run,以建置和執行應用程式。
    • 將偵錯工具附加至執行中的應用程式。

    第一次在 Visual Studio Code 中執行專案時,會顯示選取偵錯工具提示。

  2. 在 Visual Studio Code UI 頂端 [命令選擇區]選取偵錯工具提示中,選取 [C#]。 在下一個提示中,選取預設啟動設定 (C#: MyWebApp [Default Configuration]):

    在 [命令選擇區] 中選擇 [選取調試程式] 的螢幕快照。

    預設瀏覽器是在 http://localhost:{PORT} 啟動,這會顯示應用程式的回應。 {PORT} 佔預留位置是建立應用程式專案時指派給應用程式的隨機埠。 如果由於本機連接埠衝突而需要變更連接埠,請在專案的 Properties/launchSettings.json 檔案中變更連接埠。

    在瀏覽器顯示的回應:

    螢幕擷取畫面顯示文字輸出的瀏覽器。

  3. 關閉瀏覽器視窗。

  4. 在 Visual Studio 中,執行下列其一:

    • 從 [執行] 功能表中,選取 [停止偵錯]
    • 在鍵盤上按 Shift+F5

使用 .NET CLI 執行 Web 應用程式:

  1. 從終端機或命令行,瀏覽至包含您的 MyWebApp.csproj 檔案的 MyWebApp 專案目錄。

  2. 使用下列命令建置並執行應用程式:

    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 中的埠號碼會隨機設定,因此您的端點可能會有不同的埠號碼。

  3. 開啟瀏覽器連至您自己的命令列輸出產生的 URL,應用程式的回應 Hello World! 隨即顯示。

    螢幕擷取畫面顯示文字輸出的瀏覽器。

  4. 若要關閉應用程式,請在命令行上按 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,其再將它傳回給用戶端。