C# 获取错误:";viewState MAC验证失败。”;

C# 获取错误:";viewState MAC验证失败。”;,c#,C#,我得到一个错误: “viewstate MAC验证失败。如果此应用程序由Web场或群集托管,请确保配置指定相同的validationKey和验证算法。不能在群集中使用AutoGenerate。” 如果不通过负载平衡器,我不会使用此错误。如果我使用负载平衡器,我大约有50%的时间会出现这个错误。负载平衡器具有粘性会话 我的配置文件如下所示: 验证键='2EA416CEFC6D6BE856ED57B97FB9CA7DFACE17C073125949A1D682C80A44BB2AD887DDDC13

我得到一个错误: “viewstate MAC验证失败。如果此应用程序由Web场或群集托管,请确保
配置指定相同的validationKey和验证算法。不能在群集中使用AutoGenerate。”

如果不通过负载平衡器,我不会使用此错误。如果我使用负载平衡器,我大约有50%的时间会出现这个错误。负载平衡器具有粘性会话

我的配置文件如下所示: 验证键='2EA416CEFC6D6BE856ED57B97FB9CA7DFACE17C073125949A1D682C80A44BB2AD887DDDC13DBFB0954F1000FEE57E99693F222F8E28CAA2E6DAB8C4F99E0C' 解密密钥='877478B2F33A74226ABEF55FDCC1A76E43F1BBEA624A592' 验证='SHA1'/>

<pages enableViewStateMac="false">


因此,我已经启用了enableViewStateMac=“false”。如何消除零星错误?

您需要所有受负载平衡器影响的服务器使用相同的机器密钥,这样,当viewstate生成到服务器1并发布到服务器2时,服务器2可以验证viewstate,因为服务器1和2都使用相同的密钥

更多信息:

编辑:

另外,如果您正在使用一些CSRF保护,则必须确保有一种方法可以在服务器之间持久保存这些信息。(某些CSRF保护方案指定viewstate密钥)