所以我拥有所有更新的代码,整个解决方案构建.它可以在其他人的机器上运行,但是当我尝试在我的机器上访问localhost / extranet时,它会给我这个错误:
HTTP Error 403.14 – Forbidden
细节错误信息:
Module DirectoryListingModule Notification ExecuteRequestHandler Handler 0x00000000 Requested URL http://localhost:80/extranet/ Physical Path C:\svn\K2\trunk\appteam\web\Chatham.Web.UI.Extranet\ logon Method Anonymous logon User Anonymous
现在我尝试进入IIS7,并启用目录浏览,这删除了错误,但仍然没有打开我的网站.我也尝试进入并禁用默认文档,重新启用它,一切,没有任何效果.我也重启IIS几次无济于事.
有任何想法吗?
解决方法
听起来你的IIS没有处理你的应用程序的路由规则,并试图找到default.aspx,index.htm等.既然它不能,它想要显示目录列表(这就是为什么你得到的404.14).
我刚检查了我的开发设置,我认为你的AppPool必须设置为Integrated,而不是AppPool的Managed Pipeline上的Classic.我之前遇到过这种情况,可能有办法使用Classic Pipeline,但这将是/应该是解决问题的最快方法.要检查/更改管道模式,请单击IIS左侧菜单中的“应用程序池”,找到AppPool并查看托管管道列.如果设置为Classic – >右键单击AppPool,选择基本设置,然后将下拉列表从Classic更改为Integrated.
如果我不对,有人请随时在评论中纠正我.
编辑 – 只需添加,您可以在经典管道模式下运行MVC应用程序,但您必须执行IIS 6技巧才能使其正常工作.主要是,您需要打开MVC的通配符脚本映射才能在Classic模式下工作,如果不是,它需要一个.aspx文件(或类似文件),以便它可以处理从IIS到.NET的执行管道.