【发布时间】:2012-12-24 20:26:37
【问题描述】:
我有一个使用 MVC 4 和 .NET framework 4.5 在 Visual Studio 2012 中构建的网站。当我尝试在运行 Windows 8 Pro 的机器上通过 IIS 8 运行它时,我收到 403.14 错误。它说
“禁止 Web 服务器配置为不列出此目录的内容。
最可能的原因: 请求的 URL 没有配置默认文档,并且服务器上没有启用目录浏览。"
以下是我尝试过的一些无效的方法:
- 运行 %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i 和 %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir 在此目录和 Framework64 目录中。这会导致此错误:“此版本的操作系统不支持此选项。管理员应使用“打开/关闭 Windows 功能”对话框、服务器管理器管理工具或dism.exe 命令行工具。详情请见http://go.microsoft.com/fwlink/?LinkID=216771。该链接转到有关 Windows Server 2012 的页面,但该页面无济于事。我在 iis 8 的“打开或关闭 Windows 功能”对话框中找不到特定设置。与 .net 4.5 相关的所有内容都已打开。
- 添加到 Web.config 中。这会产生错误:“此配置部分不能在此路径中使用。当该部分在父级别锁定时会发生这种情况。锁定是默认情况下 (overrideModeDefault="Deny"),或者由具有 overrideMode 的位置标记显式设置="Deny" 或旧的 allowOverride="false"。"
我已确保在服务器上安装了 .net 4.5(安装程序说它内置在 windows 8 中,不需要安装)。应用程序池是使用 .net 4.0 集成管道的默认池,启用了 32 位应用程序。我正在发布到默认目录 (inetpub\wwwroot),并且那里的默认站点运行良好。 HTTP 重定向在“打开或关闭 Windows 功能”中打开
谁能提供更多见解?
编辑: 好吧,当然,在我发布这个之后,我发现了一些有用的东西。去图吧。
在“打开或关闭 Windows 功能”中,在 Internet 信息服务 -> 万维网服务 -> 应用程序开发功能下,确保 .NET Extensibility 3.5、.NET Extesibility 4.5、ASP.NET 3.5、ASP.NET 4.5、ISAPI 扩展和 ISAPI 过滤器被选中。
此处对此进行了概述:http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-using-aspnet-35-and-aspnet-45#TOC301258515 但由于它指的是 server 2012 而不是 windows 8,因此我找不到这些设置的正确位置。
希望这对遇到类似问题的人有所帮助。感谢阅读。
【问题讨论】:
-
我也有同样的问题。有人有答案吗!
-
这个问题可能是重复的,有用的回答比这里的其他相关问题少,或者有任何其他你能想到的缺点,但它肯定不是题外话!
-
这个问题和答案对我有很大帮助!当您必须打开过去默认打开的功能时,这绝对不是很明显。谢谢!使我免于拔毛。
标签: asp.net-mvc iis windows-8 asp.net-mvc-4 iis-8