此操作需要IIS集成管道模式。防伪标记。

3

我正在运行IIS7,.NET 4.5,并且拥有一个使用MVC2的站点。

当我访问带有AntiForgeryToken的表单的页面(一个aspx视图)时,出现错误“此操作需要IIS集成管道模式。”

<%=Html.AntiForgeryToken() %>

我已经搜索过并看到了AddHeaders解决方案,可以为其他人(运行IIS6的人)解决此错误,但我不知道这是否相似。我提到防伪标记的原因是,如果我将该行删除,页面就可以正常工作!编辑:我尝试重新安装.NET 4.5-没有帮助。编辑:我的AppPool绝对设置为“集成”托管管道模式(ApplicationPoolIdentity)。这是该应用程序池中唯一的应用程序。

我知道这不是IIS6的问题,因为我们目前在工作中卡住了。这是在MVC项目中的视图或WebForms页面上吗? - Tieson T.
也许值得看一下,这个键是否在你的 web.config 文件的 system.webServer 部分中:<validation validateIntegratedModeConfiguration="false" /> - Tieson T.
这是在一个视图(aspx文件)上发生的。是的,我确实有validateIntegratedModeConfiguration =“false” - 你认为这可能会以某种方式干扰吗? - Matt Kemp
不,我还没有需要更改那个值,在使用MVC2-4。 - Tieson T.
你的应用程序池是否在集成模式下运行?如果不是,是否有任何原因无法更改?你可以在IIS中的应用程序池部分进行检查。 - Toby
我已经编辑了原始帖子 - 抱歉Toby,我应该早点说 - 已经确定它已经处于集成模式。 - Matt Kemp
2个回答

3

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


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接