【发布时间】:2016-09-26 23:36:02
【问题描述】:
我们正在托管一个 .NET 框架 4.0 版的 ASP.NET Webforms 站点。
上周将服务器补丁应用到我们的 .NET 站点后,我们开始收到以下错误:
“System.Web.HttpException (0x80004005): 验证视图状态 MAC 失败的。如果此应用程序由 Web Farm 或集群托管,请确保 该配置指定相同的validationKey和validation 算法。 AutoGenerate 不能在集群中使用。”
只有一小部分网站访问者遇到此错误。我们不能自己复制它。超过一半的错误是由移动设备产生的(这很可疑,因为移动设备只占我们访问者的一小部分)。我们托管在单个 Windows 2008R2 服务器上。该错误是由许多不同的 .NET 页面生成的,因此不限于任何一个页面。
尽管我们不在服务器场上,但我们在 web.config 文件中添加了一个静态 machineKey 条目,但这并没有什么不同。
如前所述,这个问题是在我们上周对服务器应用了几次 Windows 更新后立即出现的。有什么想法吗?
以下是我们应用的更新列表:
{7CA28304-D86F-4ACA-97FA-D126E0D02416}
{E5FD83F7-AD96-4105-94BE-27947D5D638F}
【问题讨论】:
-
您是否在系统事件日志中看到任何应用程序池回收事件?
-
没有。但即使应用程序池正在回收我们在 web.config 文件中添加了静态 machineKey 条目这一事实,也应该将其作为原因消除。
-
你读过this吗?
-
是的。如前所述,我们没有在多台服务器上运行,也没有使用自动生成的 machineKey。