为什么在发布Azure Web应用服务更新后会出现HttpAntiForgeryException?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么在发布Azure Web应用服务更新后会出现HttpAntiForgeryException?相关的知识,希望对你有一定的参考价值。

我们向同一Azure Web应用程序服务发布了应用程序更新,并开始收到错误:

例外:System.Web.Mvc.HttpAntiForgeryException(0x80004005):无法解密防伪标记。如果此应用程序由Web场或群集托管,请确保所有计算机都运行相同版本的ASP.NET网页,并且配置指定显式​​加密和验证密钥。 AutoGenerate不能在群集中使用。

这种情况发生在使用应用程序内的登录页面的客户端。这些是响应标头:

HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 5585
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
Server: Microsoft-IIS/10.0
X-AspNetMvc-Version: 5.2
X-Frame-Options: SAMEORIGIN
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Wed, 30 Jan 2019 14:23:33 GMT

客户端必须关闭浏览器并重新打开或清除浏览器的cookie才能解决问题。

Web应用程序在升级之前和之后运行了3个app服务实例。 ARR Affinity正在开启。

为什么会发生这种情况,我该如何解决?

答案

看看这个answer。由于此问题刚刚开始,请确认您没有在veiws之间无意中调用@Html.AntiForgeryToken()

以上是关于为什么在发布Azure Web应用服务更新后会出现HttpAntiForgeryException?的主要内容,如果未能解决你的问题,请参考以下文章

更新 Azure 应用服务 web.config 以加载 .ttf 字体文件

将 Web 应用程序发布到 Azure 期间出现异常

Azure AD 应用程序未出现在 Azure Web 应用程序的现有 AD 应用程序列表中

使用Azure Functions 在web 应用中启用自动更新分析基于轮询的 Web 应用的限制

如何通过数据库更新实现对 Azure Web 应用程序的零停机部署?

Azure 应用服务部署失败并出现错误:“凭据”不能为空