У меня есть веб-приложение Asp.Net MVC 2, развернутое на IIS 7.5 в .Net 4.0.Когда я выбираю пул приложений как Asp.Net v4.0 Classic , я получаю следующую ошибку:
HTTP Error 403.14 - Forbidden
The Web server is configured to not list the contents of this directory.
То же приложение работает нормально, когда я выбираю пул приложений как Asp.Net v4.0 интегрированный .Кто-нибудь знает, в чем причина этого?
Обновление: Я выполнил шаги из следующего URL.
http://www.asp.net/mvc/tutorials/using-asp-net-mvc-with-different-versions-of-iis-cs
У меня естьдобавлена карта для расширения .mvc, а также изменена маршрутизация, как показано ниже.
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}.mvc/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"Root",
"",
new { controller = "Home", action = "Index", id = "" }
Теперь следующий URL работает нормально, и я вижу страницу Home / Index.
http://myapp/home.mvc
Но это все равно дает ту же ошибку (ошибка HTTP 403.14 - запрещено)
http://myapp/
Это должно сработать, поскольку я сопоставил действие Root to Home / Index.
Update
Это на IIS 7.5 в 64-битной системе Win 7 Ultimate Turbo Gold Premium.Пул приложений работал в интегрированном режиме.Когда я перешел на классический, все работает как рекламируется.Если я запускаю свое приложение в классическом режиме, общедоступный доступ предоставляется, как и должно быть.Итак, вот вопрос: как мне запустить это в интегрированном режиме, если я хочу?