IIS8 Win8和runAllManagedModulesForAllRequests =“ true”


84

我试图在IIS8中运行配置中包含以下内容的应用程序:

<modules runAllManagedModulesForAllRequests="true" />

IIS8给我一个错误,提示...

此配置部分不能在此路径上使用。当节锁定在父级时,会发生这种情况。锁定默认情况下是(overrideModeDefault =“ Deny”),或者是由一个带有overlayMode =“ Deny”或旧版allowOverride =“ false”的位置标记显式设置的。

我通过错误和快速的SO搜索猜测,存在一些更高级别的安全设置,该设置阻止了该行的允许。有任何想法吗?

Answers:


148

我已经通过在Windows8的控制面板中安装窗口功能“ Internet信息服务/万维网服务/应用程序开发/ASP.NET xx”解决了相同的问题。如果要在Windows Server 2012上进行设置,则以下链接为您提供提示。 http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-using-aspnet-35-and-aspnet-45

希望能解决。


2
这就是它的确切含义……我只是没有在Windows 8中启用那些功能。非常感谢您的回答!
David Sulpy

这确实是一个问题,IIS8在尝试部署时会考虑诸如错误之类的问题。
Johnny_D

1
太好了!在Windows 8上工作
Sanoop

1
这也是Windows 10上的解决方案。非常感谢!
杨友

16

对于运行Windows Server 2012的用户,可以在以下位置找到应用程序开发功能

[] Server Roles [] Web Server IIS [] Web Server [] Application Development [] ASP.NET x.x

选择.NET版本时,它将询问您是否要添加扩展名和其他功能。我只是说是的,但是您无需安装这些组件就可以摆脱困境。


1

在这里很难给出具体的答案,但是它的基础是您需要查看正在运行的机器的machine.config。找到该system.webServer节点,并在错误中查找3个标记/为其引用赋予属性。很有可能您会发现一些标记为不可覆盖的(allowOverride="false"),但是我还没有弄乱Windows 8 / Server 2012,所以我不知道machine.config是什么样子。


有趣的是,C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config这里没有system.webServer部分,尽管听起来确实像是答案
David Sulpy 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.