将MVC和路由添加到WebForms项目后,IIS中的默认文档(default.aspx)无法正常工作

时间:2011-09-28 01:49:35

标签: asp.net asp.net-mvc iis-7 url-routing

我有一个现有的ASP.NET 3.5 WebForms项目,并已将ASP.NET MVC添加到项目中。现有的页面工作得很好,新的控制器也是如此。观点。但是,当我部署到IIS 7时,默认文档(default.aspx)不再起作用。如果我明确输入它,我可以使用它但'xyz.com'不起作用 - 我得到404.相反,它在Cassini中工作正常。

如何在保留新的MVC内容的同时再次使用默认文档。

2 个答案:

答案 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应该看起来像这样:

IIS Default Document