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` 方法中按照正确的顺序使用这些中间件,以确保应用程序能够正确地路由请求,并使用正确的控制器动作方法响应请求。