【发布时间】:2014-05-03 17:14:27
【问题描述】:
我在过去两个小时内试图解决这个问题。我不记得我对我的项目所做的更改,但现在无论我写的 URL 是什么,它都会返回一个空白页面。没有到达控制器,我什至没有得到任何一个 HTML 标记。
我在 Windows 7 Starter 上运行,我使用 Visual Studio 2012 和 IIS Express。这个项目一切正常,我能够毫无问题地导航和访问控制器。我在 Google 上搜索了几篇建议启用 HTTP 路由的文章,以及在控制面板的添加/删除功能部分中的类似 HTTP 模块。我检查了所有与 IIS 相关的东西,但它不起作用。
我真正不明白的是,首先它工作没有任何问题,我不记得我可以对这个项目进行哪些关键更改(我最后在 2 天前开始工作)其次,其他项目工作正常,因此正确配置了 IIS。我签入了 global.asax 并正确调用了 RegisterRoutes。我没有更改默认路由系统。
我不知道应该尝试什么,因为我没有收到任何错误消息。我将不胜感激任何帮助。谢谢!
更新 1: 似乎从未调用过 MVC 框架:即使我尝试调试并在 Global.asax 中 Application_Start() 的开头放置断点,也没有任何反应
更新 2:这是我的 RouteConfig.cs 文件:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
这是我的 Application_Start 函数,根据调试,它永远不会被调用:
protected void Application_Start()
{
//ModelBinders.Binders.DefaultBinder = new PerpetuumSoft.Knockout.KnockoutModelBinder();
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
WebSecurity.InitializeDatabaseConnection("DefaultConnection", "Utilisateurs", "ID", "AdresseMail", true);
}
(我试图评论无用的行(Websecurity,因为我没有在我试图到达的控制器中使用它,Knockout 和 BundleConfig)但我得到了相同的结果)。但是这个函数无论如何都不会被调用。
【问题讨论】:
-
我会检查一下,谢谢!
-
嗯,似乎我仍然得到相同的空白页。 (我安装了包并正确地将密钥添加到 web.config )
-
清除浏览器缓存。尝试在其他浏览器中打开,请发布已注册的路由,以便我们查看正在调用或完全忽略的路由..
-
如果你还没有,尝试一些简单的事情...尝试杀死
iisexpress.exe并重新启动应用程序...还有...如果不使用IE进行调试,断点可能不起作用。
标签: asp.net-mvc iis asp.net-mvc-routing iis-express