Турбинные маршруты MVC не регистрируются - PullRequest
1 голос
/ 23 марта 2012

Я настраивал проект для запуска с MVC Turbine и у меня были проблемы с вызовом IRouteRegistrator. У другого человека в моей команде была эта проблема в прошлом, но он не может вспомнить, что он должен был сделать, чтобы решить ее.

Код для настройки временно находится в файле Global.asax.cs, пока это не будет решено. Код, который я использую, похож на каждый учебник, который я видел, но в любом случае он включен ниже.

   public class MvcApplication : TurbineApplication
   {
      static MvcApplication()
      {
         ServiceLocatorManager.SetLocatorProvider (() => new StructureMapServiceLocator ());
      }

      protected void Application_Start ()
      {
         DeployDbMigrations ();
      }

      private void DeployDbMigrations ()
      {
         ...
      }
   }

   public class RouteRegistration : IRouteRegistrator
   {
      public void Register (RouteCollection routes)
      {
         routes.IgnoreRoute ("{resource}.axd/{*pathInfo}");

         routes.MapRoute (
             "Default", // Route name
             "{controller}/{action}/{id}", // URL with parameters
             new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
         );

      }
   }

Как я уже сказал, IRouteRegistrator не вызывается, поэтому, когда я перехожу на домашнюю страницу, я получаю 404, даже если настроен надлежащий контроллер и представление.

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

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

1 Ответ

1 голос
/ 26 марта 2012

Проверьте имя сборки, созданной вашим проектом. MVCTurbine отфильтровывает некоторые сборки по имени при поиске регистрации. Если имя вашей сборки содержит любое из следующего, оно не будет проверено на наличие маршрутов.

  • System
  • System.Web
  • mscorlib
  • MvcTurbine
  • MvcTurbine.Web,
  • WebDev
  • CppCodeProvider

Переименование сборки должно исправить проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...