添加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); 
    } 
+0

谢谢,这帮助我解决了我的问题! – Netricity

您是否为您的IIS应用程序启用了默认文档,并且列表中是default.aspx?仔细检查一下,我想不出任何会影响default.aspx页面的服务。 IIS应该是这个样子:

IIS Default Document

+0

是的,它是这样的。只是澄清,它在IIS 7下工作正常,直到MVC和路由被添加到项目。 – GiddyUpHorsey