我在.Net 4.0上的IIS 7.5上部署了一個Asp.Net MVC 2 Web應用程序。當我選擇應用程序池爲Asp.Net v4.0經典我收到以下錯誤。當我選擇的應用程序池Asp.Net 4.0版集成爲什麼Asp.net mvc應用程序不能在Asp.Net Classic應用程序池上工作?
HTTP Error 403.14 - Forbidden
The Web server is configured to not list the contents of this directory.
同一應用程序工作正常。有誰知道這是什麼原因?
更新:我遵循以下網址的步驟。
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 = "" }
現在,以下網址工作正常,我可以看到家庭/索引頁面。
http://myapp/home.mvc
但是,這仍然給出了同樣的錯誤(HTTP錯誤403.14 - 禁止)
http://myapp/
,因爲我已經映射根首頁/ Index操作這應該有工作。
更新
這是IIS 7.5的Win 7旗艦版的Turbo黃金高級版64位系統上。應用程序池以集成模式運行。當我切換到經典之作時,所有的東西都像廣告一樣運作如果我在經典模式下運行我的應用程序,公共訪問權限應該如此。所以這裏是一個問題:如果我想如何在集成模式下運行它?
雖然這大部分是真的。如果在.net 4中使用經典流水線,現在不需要使用通配符,現在有更好的無擴展名URL處理。我正在參考這篇文章http://haacked.com/archive/2010/12/22/asp-net-mvc-3-extensionless-urls-on-iis-6.aspx – cdmdotnet 2012-02-15 20:47:30