【发布时间】:2013-02-03 22:38:50
【问题描述】:
我正在运行 IIS7、.NET 4.5 并且有一个 MVC2 站点。
我收到错误消息“此操作需要 IIS 集成管道模式。”当我导航到一个页面(一个 aspx 视图)时,上面有一个带有 AntiForgeryToken 的表单。
<%=Html.AntiForgeryToken() %>
我四处搜索并看到了为其他人(正在运行 IIS6)修复此错误的 AddHeaders 解决方案,但我看不出这有什么相似之处。
我之所以提到 AntiForgeryToken,是因为如果我把那行去掉,页面就可以工作了!
编辑: 我已经尝试重新安装 .NET 4.5 - 没有帮助
编辑:我的 AppPool 绝对设置为“集成”托管管道模式 (ApplicationPoolIdentity)。这是此应用程序池中唯一的应用程序。
【问题讨论】:
-
我知道这不是 IIS6 问题,因为这就是我们目前在我工作的地方遇到的问题。这是在 MVC 项目中的视图还是
WebForms页面上? -
如果此密钥是您的 web.config 的
system.webServer部分,也可能值得一看:<validation validateIntegratedModeConfiguration="false" /> -
这发生在视图(aspx 文件)上。是的,我确实有 validateIntegratedModeConfiguration="false" - 你认为这可能会以某种方式干扰吗?
-
否 - 我还需要使用 MVC2 - 4 更改该值。
-
您的应用程序池是否在集成模式下运行,如果不是,是否有任何原因无法更改?您可以在应用程序池部分下签入 IIS。