Asp.net core 如何在.ASP.NET Core 5中重写路由?
我想覆盖ASP.NET Core 5中的路由 我试过这个,但不起作用Asp.net core 如何在.ASP.NET Core 5中重写路由?,asp.net-core,routes,asp.net-core-5.0,asp.net-core-routing,Asp.net Core,Routes,Asp.net Core 5.0,Asp.net Core Routing,我想覆盖ASP.NET Core 5中的路由 我试过这个,但不起作用 var lastExistingRoute= routeBuilder.Routes.FirstOrDefault(x => ((Route)x).Name == "HomePage"); routeBuilder.Routes.Remove(lastExistingRoute); routeBuilder.MapRoute("HomePage
var lastExistingRoute= routeBuilder.Routes.FirstOrDefault(x => ((Route)x).Name == "HomePage");
routeBuilder.Routes.Remove(lastExistingRoute);
routeBuilder.MapRoute("HomePage", "",
new { controller = "CustomPage", action = "Homepage", });
var lastDownloadRoute=routeBuilder.Routes.FirstOrDefault(x => ((Route)x).Name == "GetDownload");
routeBuilder.Routes.Remove(lastDownloadRoute);
routeBuilder.MapRoute("GetDownload", "download/getdownload/{guid}/{agree?}",
new { controller = "AzTechProduct", action = "GetPayed", });
为我创建了具有不同显示顺序的同一路线 这很好,在插入同名的新路由时不会引发任何异常
public void RegisterRoutes(IEndpointRouteBuilder endpointRouteBuilder)
{
endpointRouteBuilder.MapControllerRoute("NewCheckout", "onepagecheckout",
new { controller = "NewCheckout", action = "OnePageCheckout" });
}
return string.Empty;
}
public int Priority
{
get
{
return 100;
}
}
}
您是否遇到任何错误或异常?通常,我们使用,并使用UseRouting()和UseEndpoints()来配置Asp.net core 5中的路由,但是从您的代码来看,您似乎希望使用UseMvc()方法来配置路由,对吗?如果是这种情况,则应在ConfigureServices方法中禁用端点路由:
services.AddMvc(Op=>{Op.EnableEndpointRouting=false;})代码>@ZhiLv-简单添加新路线对我有效。此代码引用符合.Net Core 3.10 endpointRouteBuilder.MapControllerRoute(“NewCheckout”、“onepagecheckout”、new{controller=“NewCheckout”、action=“onepagecheckout”});好的是,即使注册了相同的routename,它也不会抛出任何异常