我在.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