Я недавно обновил свое приложение. Net Core 2.1 до версии 3.1, и есть одна часть, которая не была обновлена должным образом.
Я бы написал код для сопоставления поддоменов с областями, как описано здесь
Теперь я понимаю, что метод использования app.UseMvc()
следует заменить на app.UseEndpoints()
, но Я не могу найти нигде в платформе 3.1, которая позволила бы мне писать в RouteData
до app.UseEndpoints()
//update RouteData before this
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
"admin", "{area:exists}/{controller=Home}/{action=Index}/{id?}");
endpoints.MapControllerRoute(
"default", "{controller=Home}/{action=Index}/{id?}");
});
Есть ли способ записи в RouteData
с использованием Middleware?
Я пытался вернуться к app.UseMvc()
, поскольку он все еще находится в фреймворке, но MvcRouteHandler
, похоже, больше не существует
app.UseMvc(routes =>
{
routes.DefaultHandler = new MvcRouteHandler(); //The type of namespace could not be found
routes.MapRoute(
"admin",
"{area:exists}/{controller=Home}/{action=Index}/{id?}");
routes.MapRoute(
"default",
"{controller=Home}/{action=Index}/{id?}");
});