1
我一直在建立一個項目,使用MVC Turbine運行,並且一直有問題讓IRouteRegistrators被調用。我團隊中的另一個人過去曾經遇到過這個問題,但他不記得要解決這個問題。MVC渦輪航線未註冊
設置的代碼暫時全部在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,即使適當的控制器和視圖設置。
煩人的是我可以在當前的解決方案之外創建一個類似的項目,它會工作,但它不會在解決方案中工作。 (儘管我已經嘗試將工作項目複製到解決方案中並且工作正常,但是,這不再是一種選擇,因爲有人在Web項目中做了一些更多的工作,但我正在弄清楚這一點。)
有沒有人在過去遇到過這個問題,或者知道如何解決它?