ASP.NET Core 是一個跨平台的開放原始碼框架,用於建置現代、雲端和連線網際網路應用程式。以下是有關 ASP.NET Core 的詳細解釋,包括它與傳統 ASP.NET 的差異以及一些優點:
8. 高效能和模組化的 HTTP 管線:
9. 跨平台部署:
總之,ASP.NET Core 是一個現代化、高效能、跨平台且開源的框架,它簡化了 Web 應用程式和 Web API 的開發過程,並提供了許多有用的功能和優勢。與傳統的 ASP.NET 相比,它更具彈性,並且支援現代的開發需求。
相依性插入 (DI):
ASP.NET Core 提供了內建的相依性插入(Dependency Injection,簡稱 DI)容器,用於管理應用程式的服務相依性,DI 容器允許您在應用程式的各個部分中輕鬆解析這些服務。在 Program.cs 中,您可以使用 builder.Services.AddXXX()
方法將服務註冊到 DI 容器中,例如 Razor Pages 和 MVC 控制器。
就像搭積木一樣,我們需要不同的積木來建造一個城堡。ASP.NET Core 中有一個特殊的盒子,叫做相依性插入盒子。這個盒子可以幫助我們把不同的積木(服務)放在一起,讓我們的城堡變得更強大,而不需要一塊一塊地建造。
中介軟體:
ASP.NET Core 使用中介軟體組件來處理 HTTP 請求和回應。每個中介軟體元件執行特定的操作,並將請求傳遞給下一個中介軟體或終止處理。您可以使用 app.UseXXX()
方法來將中介軟體添加到 HTTP 請求管線中,以自訂請求的處理流程。這些中介軟體元件可以處理例外狀況、執行身份驗證、設定路由規則等。
想像你在玩一個火車遊戲,火車必須經過許多站。每個站點都做一些不同的事情,例如檢查車票、讓乘客下車等。中介軟體就像這些火車站,它們負責處理不同的事情,然後將火車傳送到下一個站。
主機:
ASP.NET Core 應用程式在啟動時建立一個主機,它包含 HTTP 伺服器實作、中介軟體元件、記錄、相依性插入(DI)容器、組態等。主機是整個應用程式的運行時環境,負責處理傳入的 HTTP 請求並將其傳遞到適當的中介軟體以進行處理。
主機就像一個大型派對的主辦人。它負責確保所有的朋友都能來參加派對,並提供派對所需的食物和音樂。在我們的應用程式中,主機是一個大老闆,負責處理所有的事情,例如處理網站的訪問者,確保網站運行良好。
組態:
ASP.NET Core 提供了組態架構,可用於從不同來源(如 .json 檔案、.xml 檔案、環境變數、命令列引數)中讀取應用程式的設定。您可以根據需要自訂組態提供者以支援其他來源。預設情況下,應用程式從 appsettings.json、環境變數等讀取組態。
組態就像一個神奇的寶藏地圖,告訴我們在哪裡可以找到寶藏。在我們的應用程式中,組態告訴我們許多重要的資訊,例如網站的名稱、顏色、密碼等等。
記錄:
ASP.NET Core 支援多種記錄提供者,可用於紀錄應用程式的運行時資訊。記錄提供者包括主控台、檔案記錄、事件記錄等,並且可以自訂記錄訊息的輸出和格式。
記錄就像是寫下我們的故事,所以我們可以回顧它們。當我們在做一些重要的事情時,我們可以寫下來,以後再看。在應用程式中,記錄幫助我們記錄發生的事情,以便稍後檢查它們。
路由:
路由是將 URL 映射到處理程序(如 Razor 頁面、MVC 控制器的動作方法或中介軟體)的方式。ASP.NET Core 路由讓您能夠控制應用程式的 URL 結構,以及如何處理不同的 URL 請求。您可以使用 app.UseRouting()
設定路由,並定義路由規則。
想像你有一張地圖,上面標有不同的道路和目的地。路由就像是告訴我們如何到達目的地的指示。在我們的應用程式中,路由告訴我們如何找到正確的網頁或資源,就像地圖上的指示告訴我們如何到達目的地一樣。
以上這些概念共同構成了 ASP.NET Core 應用程式的基本架構,使您能夠建立高效且可擴展的 Web 應用程式,處理各種 HTTP 要求並提供所需的服務。這種模組化和配置靈活性使 ASP.NET Core 成為一個強大的開發框架,適用於各種不同的應用程式場景。