Области, не работающие в моем приложении MVC 3

Сегодня я обнаружил странную вещь в своем приложении MVC 3. Он довольно большой, поэтому я решил использовать Areas. Все настроено правильно, но для запроса на SomeArea/SomeController/SomeAction я получаю 404.

В новом приложении MVC3 это работает, как и ожидалось.

Я попытался отладить приложение и считаю, что проблема заключается в Global.asax, в котором метод Application_Start вызывает AreaRegistration.RegisterAllAreas, и этот метод должен запускать RegisterArea в классе TestAreaRegistration. В RegisterArea находится правило маршрутизации для этой области.

В новом приложении, когда я устанавливаю точку останова внутри RegisterArea, она достигается при запуске сервера, но в предыдущем приложении точка останова в этом месте никогда не достигалась.

Я не нашел никаких различий между этими двумя приложениями. Обычно я беру контент из предыдущего приложения и помещаю его в новое, но приложение находится под TFS.


person kubiix    schedule 11.06.2011    source источник


Ответы (1)


Несколько вещей, которые стоит проверить:

  • Участки регистрируются. В подпапке области должен быть файл MyAreaRegistration.cs, а также список в Global.asax.cs.
  • Папка, содержащая представления, соответствует имени контроллера?
  • Ваша ссылка/ActionLink указывает на правильное место?
  • У вашего контроллера правильное пространство имен?
person Phil Hale    schedule 17.07.2011