Объедините определения вашего маршрута в один вызов UseMvc
, и всегда используйте ваш маршрут по умолчанию последним, порядок имеет значение.
app.UseMvc(routes =>
{
routes.MapRoute(
name: "areas",
template: "{area:exists}/{controller=Admin}/{action=Index}/{id?}"
);
routes.MapRoute(
name: "default",
template: "{controller=Login}/{action=Index}/{id?}");
});
});
Попробуйте и посмотрите, исправит ли он маршруты для вас.Я не вижу ничего сверх очевидных проблем с вашим кодом, кроме этого, но я бы не стал называть ваш маршрут "первым", если область называется "первым".Я чувствую, что это просто запутает вещи.
Возможно, вам захочется очистить ваши значения по умолчанию для ваших контроллеров.
Я знаю, что вы пытаетесь, возможно, я 'я делал это много раз в моем коде.Если это все еще не работает, дайте нам знать.