【问题标题】:This operation requires IIS integrated pipeline mode. AntiForgeryToken此操作需要 IIS 集成管道模式。防伪令牌
【发布时间】: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 部分,也可能值得一看:&lt;validation validateIntegratedModeConfiguration="false" /&gt;
  • 这发生在视图(aspx 文件)上。是的,我确实有 validateIntegratedModeConfiguration="false" - 你认为这可能会以某种方式干扰吗?
  • 否 - 我还需要使用 MVC2 - 4 更改该值。
  • 您的应用程序池是否在集成模式下运行,如果不是,是否有任何原因无法更改?您可以在应用程序池部分下签入 IIS。

标签: c# .net iis-7


【解决方案1】:

在 IIS Express 中运行应用程序。这解决了我同样的问题。只需右键单击您的项目并选择“属性”并单击“Web”选项卡,在服务器下单击“使用 localIIS Web 服务器并单击“使用 IIS express”

【讨论】:

    【解决方案2】:

    使用升级工具升级到 MVC3 已解决问题 http://blogs.msdn.com/b/marcinon/archive/2011/01/13/mvc-3-project-upgrade-tool.aspx?Redirected=true

    我意识到这并不总是对每个人来说都是可行的解决方案 - 所以会留下这个问题,希望其他人对修复 MVC2 解决方案有想法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-16
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多