A. c# asp.net core 3.1版本中UseRouting 、UseEndpoints和UseMvc三者的區別
在 ASP.NET Core 3.1 中,`UseRouting`、`UseEndpoints` 和 `UseMvc` 都是中間件(Middleware),用於處理 HTTP 請求。它們的主要作用如下:
- `UseRouting`:用於啟用路由中間件,將請求路由到不同的控制器和動作方法。
- `UseEndpoints`:用於配置終結點(Endpoint),將請求路由到特定的動作方法,並生成響應。
- `UseMvc`:用於啟用 MVC 框架,使您可以使用控制器、視圖和模型來構建 Web 應用程序。
下面是每個中間件的更詳細解釋:
- `UseRouting`:在請求到達控制器之前,需要在應用程序中啟用路由中間件。該中間件會根據 URL 路由表,確定哪個控制器和動作方法應該響應當前請求。該中間件還可以為請求設置路由值和數據,以供後續中間件使用。
- `UseEndpoints`:該中間件充當終結點的配置器。終結點是一種表示可以處理傳入 HTTP 請求的代碼塊的組件。在此中間件上方定義的其他中間件將僅能處理終結點不匹配的請求。終結點配置包括 HTTP 方法、URL 和響應委託或控制器動作方法。
- `UseMvc`:該中間件可用於啟用 ASP.NET Core MVC 框架。該框架可以為 ASP.NET Core 應用程序提供模型-視圖-控制器(MVC)體系結構,用於處理請求並生成響應。
總的來說,`UseRouting` 和 `UseEndpoints` 是 ASP.NET Core 3.1 中用於啟用路由和終結點配置的中間件,而 `UseMvc` 則是用於啟用 MVC 框架的中間件。您必須在 `Configure` 方法中按照正確的順序使用這些中間件,以確保應用程序能夠正確地路由請求,並使用正確的控制器動作方法響應請求。