我有一个现有的ASP.NET 3.5 WebForms项目,并已将ASP.NET MVC添加到项目中。现有的页面工作得很好,新的控制器也是如此。观点。但是,当我部署到IIS 7时,默认文档(default.aspx)不再起作用。如果我明确输入它,我可以使用它但'xyz.com'不起作用 - 我得到404.相反,它在Cassini中工作正常。
如何在保留新的MVC内容的同时再次使用默认文档。
答案 0 :(得分:10)
我将以下内容添加到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);
}
答案 1 :(得分:0)
您是否为IIS应用程序启用了默认文档,列表中是否为default.aspx
?只需仔细检查一下,我就不会想到任何会影响default.aspx页面服务的内容。 IIS应该看起来像这样: