HTTP 错误 403.14

Posted

技术标签:

【中文标题】HTTP 错误 403.14【英文标题】:HTTP Error 403.14 【发布时间】:2015-06-15 08:48:16 【问题描述】:

我正在使用 VS 2013 开发我的 MVC 5 应用程序,它运行良好,但突然出现以下错误。

- 禁止

Web 服务器配置为不列出此目录的内容。

我已经阅读了this post,并没有解决问题。

我尝试了以下方法:

    %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -irsystem.webServer 中的runAllManagedModulesForAllRequests 设置为true。 将owin:AutomaticAppStartup 设置为false。 正在重启 VS 和 Windows! 发布应用并尝试在 IIS 上运行它(我使用的是 Win 8.1)。 我敢肯定没有人玩过权限。 我已开启.NET Extensibility 3.5。 我已将项目复制到本地磁盘并尝试在那里运行。

我正在开发一个自定义用户存储,这就是我尝试禁用 owin 配置的原因(但在开发过程中我没有更改 global.asaxweb.config 中的任何内容。)

当我运行应用程序时,在出现错误之前的一秒钟内,我可以看到正确的标题。我可以很好地运行其他应用程序。

我设置了一个断点,以下异常是 IntelliTrace 中的第一项。会不会和错误有关系?

异常:捕获:“访问路径 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET 文件\~AspAccessCheck_75bc30d35780.tmp' 被拒绝。” (System.UnauthorizedAccessException) 一个 System.UnauthorizedAccessException 被捕获:“访问路径 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\~AspAccessCheck_75bc30d35780.tmp' 被拒绝。”

【问题讨论】:

检查您的应用程序池是否设置为 Framework 4.5,或者可能是您的路由错误...只是一些想法 在 IIS 管理器中,DefaultAppPool 设置为 v4.0.30319。应用程序池有一排 4.5,但在 CLR version 中,只有 4 和 2。 好吧,听起来你在这方面没问题。当我的路由不正确时,我也看到了这一点。除了收到错误的页面之外,您是否能够导航到您网站上的任何其他页面? 不,我已经尝试了几页,但都给出了错误。 好的,所以这可能会对您的路由产生不利影响? 【参考方案1】:

静止不动! VS 中有一个refactor bug 也会改变路由!

我的默认路由更改为以下,我不得不将name 重命名为id,一切正常!

routes.MapRoute(
                name: "Default",
                url: "controller/action/name",
                defaults: new  controller = "Home", action = "Index", id = UrlParameter.Optional 
            );

【讨论】:

我怀疑它是路由。很高兴听到你查到了真相! 谢谢库尔顿。 :) 你昨天建议的,我什至看了配置,但我没有注意到变化。

以上是关于HTTP 错误 403.14的主要内容,如果未能解决你的问题,请参考以下文章

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

HTTP 错误 403.14 - 禁止。 ASP.NET MVC

HTTP 错误 403.14 - 禁止 - Web 服务器配置为不列出此目录的内容

HTTP 错误 403.14 - 禁止 - 带有 IIS Express 的 MVC 4

HTTP 错误 403.14 - 禁止 Web 服务器配置为不列出内容

HTTP 错误 403.14 - 禁止 - MVC4 .net 4.5 捆绑包