Asp.net core ASP.NET Core 3.0+;中MvcMiddleware的替代品是什么;?

Asp.net core ASP.NET Core 3.0+;中MvcMiddleware的替代品是什么;?,asp.net-core,Asp.net Core,在ASP.NET Core 3.0+中,他们引入了EndpointRoutingMiddleware和EndpointMiddleware 我想知道ASP.NET Core 3.0+中的MvcMiddleware的替代品是什么 是否为Endpoints=>MapControllerOute?(MapControllerOute=MvcMiddleware) app.UseEndpoints(端点=> { endpoints.MapRazorPages(); endpoints.MapContro

在ASP.NET Core 3.0+中,他们引入了
EndpointRoutingMiddleware
EndpointMiddleware

我想知道ASP.NET Core 3.0+中的
MvcMiddleware
的替代品是什么

是否为
Endpoints=>MapControllerOute
?(MapControllerOute=MvcMiddleware)

app.UseEndpoints(端点=>
{
endpoints.MapRazorPages();
endpoints.MapControllerRoute(/*此处)*/
名称:“默认”,
模式:“{controller=Home}/{action=Index}/{id?}”);
});

您基本上是正确的,端点路由极大地改变了路由的工作方式。 以前,中间件不知道MVC中的哪个操作将处理请求,因为操作选择逻辑是从
MvcMiddleware
内部调用的。 现在有了端点路由,中间件放在
app.UseRouting()之后和之前
app.UseEndpoints()可以知道最终端点是什么。
它还消除了复制CORS策略等内容的需要

映射MVC路由是使用
MapControllerRoute()
完成的,就像您所做的那样。 调用
MapControllerRoute
时,也会映射使用例如
[HttpGet]
定义的属性路由。
如果你的应用程序只使用属性路由,你可以完全省略
MapControllerRoute
的参数。

你基本上是正确的,端点路由极大地改变了路由的工作方式。 以前,中间件不知道MVC中的哪个操作将处理请求,因为操作选择逻辑是从
MvcMiddleware
内部调用的。 现在有了端点路由,中间件放在
app.UseRouting()之后和之前
app.UseEndpoints()可以知道最终端点是什么。
它还消除了复制CORS策略等内容的需要

映射MVC路由是使用
MapControllerRoute()
完成的,就像您所做的那样。 调用
MapControllerRoute
时,也会映射使用例如
[HttpGet]
定义的属性路由。
如果你的应用程序只使用属性路由,你可以完全省略
mapcontrolleroute
的参数。

是的,这是正确的。在使用它的时候有什么东西不起作用吗?实际上,我正在阅读ASP.NET Core的实际版本,它是针对2.0版的,在第4章中,作者讨论的是MvcMiddleware,所以我试图将概念映射到最新版本。这就是我问这个问题的原因是的,没错。在使用它的时候有什么东西不起作用吗?实际上,我正在阅读ASP.NET Core的实际版本,它是针对2.0版的,在第4章中,作者讨论的是MvcMiddleware,所以我试图将概念映射到最新版本。这就是我问这个问题的原因