Документ по умолчанию (default.aspx) в IIS не работает после добавления MVC и маршрутизации в проект WebForms - PullRequest
6 голосов
/ 28 сентября 2011

У меня есть существующий проект ASP.NET 3.5 WebForms и я добавил ASP.NET MVC в проект.Существующие страницы работают нормально, как и новые контроллеры и представления.Однако при развертывании в IIS 7 документ по умолчанию (default.aspx) больше не работает.Я могу получить его, если введу его явно, но 'xyz.com' не работает - я получаю 404. Напротив, в Кассини он отлично работает.

Какзаставить документ по умолчанию работать снова, сохраняя при этом новый материал MVC.

Ответы [ 2 ]

10 голосов
/ 30 сентября 2011

Я добавил следующее в файл 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 голосов
/ 28 сентября 2011

Включены ли у вас документы по умолчанию для приложения IIS, и есть ли default.aspx в списке?Просто дважды проверьте их, я не могу думать ни о чем другом, что могло бы повлиять на обслуживание страницы default.aspx.IIS должен выглядеть примерно так:

IIS Default Document

...