asp.net - HTTP 错误 403.14 - 访问网站时出现禁止错误

标签 asp.net .net asp.net-mvc windows-7 iis-7

所以我拥有所有更新的代码,构建了整个解决方案。它可以在其他人的计算机上运行,​​但是当我尝试在我的计算机上访问 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 的托管管道上的 Classic。我以前遇到过这个问题,可能有多种方法可以使用经典管道,但这将/应该是解决您的问题的最快方法。要检查/更改管道模式,请从 IIS 左侧的菜单中单击应用程序池,找到您的 AppPool 并查看托管管道列。如果设置为经典 -> 右键单击​​应用程序池,选择基本设置,然后将下拉列表从经典更改为集成。

如果我的理解有误,欢迎大家在评论中指正。

编辑 - 只是补充一下,您可以在经典管道模式下运行 MVC 应用程序,但您必须执行 IIS 6 技巧才能使其正常工作。主要是,您需要打开通配符脚本映射,MVC 才能在经典模式下工作,如果没有,则需要存在 .aspx 文件(或类似文件),以便处理从 IIS 到 .NET 的执行管道。

关于asp.net - HTTP 错误 403.14 - 访问网站时出现禁止错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7880852/

相关文章:

c# - 由于目标机器主动拒绝,无法建立连接?

.net - ASP.Net MVC4 WebApi 代理

asp.net-mvc - 如何防止 HttpUnauthorizedResult(401) 重定向到我的 Api 端点上的登录 Controller

c# - 从 JSON 中排除域模型对象的属性

.net - Youtube .net api - 在播放列表中搜索

jquery - 剑道网格中基于条件的列的值

c# - System.InvalidOperationException : 'Unable to resolve service for type ' Microsoft. AspNetCore.Hosting.IHostingEnvironment'

c# - 如何禁用 RadComboBox 的键盘支持?

Docker 上的 ASP.NET 不向浏览器提供 Web 应用程序

javascript - 如何根据 javascript 函数结果设置 CSS 宽度?