ASP.NET MVC - Catch All Route And Default Route

При попытке заставить мое приложение выдавать ошибки 404 правильно, я реализовал маршрут перехвата всех в конце моей таблицы маршрутов, как показано ниже:

 routes.MapRoute(
            "NotFound", _
           "{*url}", _
           New With {.controller = "Error", .action = "PageNotFound"} _
       )

Однако, чтобы это работало, Мне пришлось удалить маршрут по умолчанию:

{controller}/action/{id}

Но теперь, когда значение по умолчанию было удалено, большинство моих ссылок действий больше не работают, и я нашел единственный способ заставить их снова работать - это добавить отдельные маршруты для каждого контроллера / действие.

Есть ли более простой способ сделать это, а не добавлять маршрут для каждого контроллера / действия?

Можно ли создать маршрут по умолчанию, который по-прежнему позволяет перехватить весь маршрут, если пользователь пытается перейти к неизвестному маршруту?

70
задан Sean Taylor 22 October 2010 в 21:25
поделиться