Для всех, кто следовал учебникам MVC Области на MSDN , вы обнаружите проблему, если когда-нибудь добавите модульные тесты в созданное вами веб-приложение.
Он говорит вам добавить AreaRegistration.RegisterAllAreas()
к методу RegisterRoutes
. К сожалению, это статический метод, который расстраивается при вызове из модульных тестов.
Вместо этого зарегистрируйте области в пределах Application_Start
, прямо перед вызовом RegisterRoutes
, который вы только что изменили. Если вы сначала наберете RegisterRoutes
, UrlParameter.Optional, по-видимому, перестанет работать на маршрутных маршрутах (хотя продолжает работать на маршрутах вне зоны).
protected void Application_Start() {
AreaRegistration.RegisterAllAreas();
RegisterRoutes(RouteTable.Routes);
}