ASP. Net C# MVC создать исключение для глобального маршрута - PullRequest
0 голосов
/ 09 марта 2020

Я пишу приложение URL Shortener.

Когда кто-то вводит root .com / что угодно, они перенаправляются на настроенный URL.

Мне удалось создать глобальный маршрут, который будет перехватывать пути после root (" «выше») и успешно выполните соответствующее перенаправление.

Моя проблема и вопрос в следующем: интерфейс администратора находится на root .com / admin, и когда я пытаюсь получить к нему доступ, я получаю глобальный контроллер. Как сделать исключение для глобального контроллера для «admin»?

Вот что у меня есть в моей конфигурации маршрута прямо сейчас:

routes.MapRoute(
    name: "Admin",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Admin", action = "Index", id = UrlParameter.Optional }
);

routes.MapRoute(
    name: "Global",
    url: "{suffix}",
    defaults: new { controller = "Home", action = "Index", suffix = UrlParameter.Optional }
);

Для первого маршрута, Я также попытался:

routes.MapRoute(
    name: "Admin",
    url: "admin/{action}/{id}",
    defaults: new { controller = "Admin", action = "Index", id = UrlParameter.Optional }
);

И я также попытался поместить его в файл вторым.

1 Ответ

1 голос
/ 10 марта 2020

Я не знаю, поможет ли это вам, но взгляните на это сообщение о переполнении стека: ASP. Net MVC: проблема маршрутизации, которая вызывает исключение Этот человек уменьшил более конкретный c маршрут и он у него сработал.

...