我正在尝试从.net core 2.2路由迁移到asp.net core 3中的终结点路由,并在启动时遵循以下路由
我的.net core 2.2路由是
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
routes.MapRoute(
name: "AppArea",
template: "{area:exists}/{controller=Home}/{did?}/{action=Index}/{id?}");
.net核心3路由
app.UseEndpoints(routes =>
{
routes.MapControllerRoute(
name:"default",
pattern:"{controller=Home}/{action=Index}/{id?}");
routes.MapAreaControllerRoute(
name: "areas",
areaName: "myarea",
pattern: "{area:exists}/{controller=Home}/{did?}/{action=Index}/{id?}");
routes.MapRazorPages();
});
我的问题是在以上配置的.net core 2.2中映射了多个区域,例如area1
area2
等。但是在.net core中,它仅在我给出硬代码区域名称而不是动态区域名称的情况下有效< / p>
答案 0 :(得分:0)
为了不指定任何区域名称,可以使用此名称。
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapControllerRoute(
name: "areas",
pattern: "{area}/{controller}/{did?}/{action=Index}/{id?}");
});