【发布时间】:2017-06-03 05:59:59
【问题描述】:
我正在尝试加载我的一个 MVC4 应用程序,但遇到了困难。这是在运行 Windows 7 Pro SP1、IIS 7.5、VS2015、.NET 4.6.1 作为目标 .NET 版本和 MVC4 的本地开发环境中。在这个特定的应用程序上,我收到 HTTP 错误 403.14 - 禁止访问。我有其他 MVC 应用程序在同一个 AppPool 中运行并且这些应用程序正确加载。无需在 IIS 中打开目录浏览,我不想这样做。在我的 web.config 的 system.webServer 部分中,我有
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
但即使我删除了上面的代码块,我仍然会收到 403.14 错误。 我试过跑步:
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir
但这并没有解决问题。我还尝试了微软为 ExtensionlessUrlHandler 提供的修补程序,但这也不起作用。我尝试设置 runAllManagedModulesForAllRequests="true" 也不起作用,我不想在生产中启用它。我还尝试如下添加 UrlRoutingModule-4.0,但这也没有解决问题。
<system.webServer>
<modules>
<remove name="UrlRoutingModule-4.0" />
<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
</modules>
</system.webServer>
我的 RouteConfig 不会使用 {id} 更改任何内容。
我确保已安装 .NET 4.6.1 以及 .NET 可扩展性。我比较了工作应用程序和非工作应用程序在 IIS 中的配置,并没有发现任何明显的差异。我还比较了文件夹权限。
有人遇到过这样的问题吗?我错过了什么吗?
【问题讨论】:
标签: c# asp.net-mvc asp.net-mvc-4 iis iis-7.5