添加MVC并路由到WebForms项目后,IIS中的默认文档(default.aspx)不起作用
问题描述:
我有一个现有的ASP.NET 3.5 WebForms项目,并且已经将ASP.NET MVC添加到项目中。现有页面正常工作,新控制器&视图也可以正常工作。但是,当我部署到IIS 7时,默认文档(default.aspx)不再有效。如果我明确键入它,我可以得到它,但'xyz.com'不起作用 - 我得到了404。相反,它在卡西尼中工作正常。添加MVC并路由到WebForms项目后,IIS中的默认文档(default.aspx)不起作用
如何在保留新的MVC内容的情况下再次获取默认文档。
答
添加以下到Global.asx.cs
文件和默认文档再次工作。
public static void RegisterRoutes(RouteCollection routes)
{
// *** This Line ***
routes.IgnoreRoute(""); // Required for the default document in IIS to work
// *****************
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
}
protected void Application_Start(Object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
答
您是否为您的IIS应用程序启用了默认文档,并且列表中是default.aspx
?仔细检查一下,我想不出任何会影响default.aspx页面的服务。 IIS应该是这个样子:
+0
是的,它是这样的。只是澄清,它在IIS 7下工作正常,直到MVC和路由被添加到项目。 – GiddyUpHorsey
谢谢,这帮助我解决了我的问题! – Netricity