Я настраивал проект для запуска с 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, даже если настроен надлежащий контроллер и представление.
Раздражает то, что я могу создать аналогичный проект вне текущего решения, и он будет работать, но он не будет работать в решении. (Хотя я попытался скопировать рабочий проект в решение, и это сработало. Но это уже не вариант, так как кто-то еще проделал какую-то работу над веб-проектом, пока я выяснял это.)
Кто-нибудь сталкивался с этой проблемой в прошлом и / или знает, как ее исправить?