Я пытаюсь получить ASP.NET MVC 2 однопроектной регистрации области для работы. Пробовал с предварительным просмотром 2 и теперь с бета-версией без везения. Я использовал диалог «Добавить область», чтобы создать область «NewsModule». Создал в нем NewsModuleController и указатель Index для него.ASP.NET MVC 2 Бета однопроект Регистрация области Получение HTTP 404
регистрация маршрута для этой зоны выглядит следующим образом:
context.MapRoute( "NewsModule_default", "NewsModule/{action}/{id}", new { action = "Index", id = "", controller = "NewsModule", area = "NewsModule" } );
Я добавил AreaRegistration.RegisterAllAreas(); вызовите мой Global.asax. Доступ к http://localhost/mymvcproj/NewsModule получает ошибку HTTP 404.
Используя отладчик маршрута Фила Хаака, я мог бы подтвердить, что маршрут правильно сопоставлен и привязан этим URL-адресом, однако, похоже, что структура не может найти файлы Area, может быть?
Любой может помочь?
Спасибо, Фелипе
Если вы когда-либо добавляли модульные тесты в ваше приложение MVC, которые вызывают RegisterRoutes, они будут бросать некоторые странные исключения 'CompilationLock' с этим порядком вызовов; он связан с вызовом статического 'RegisterAllAreas' в нестатических' RegisterRoutes'. Решение этой проблемы описано в [другом вопросе] (http://stackoverflow.com/questions/2851514/compliationlock-throws-httpexception-when-registering-areas-for-asp-net-mvc-unit/2851518#2851518). Однако, выполняя это решение, если вы хотите проверить маршрутизацию для определенной области, вам нужно явно зарегистрировать маршруты области в тесте. – patridge