我收到错误:
“视图状态MAC验证失败。如果此应用程序由Web场或群集托管,请确保<machineKey>
配置指定相同的validationKey和验证算法。无法在群集中使用AutoGenerate。”
如果我不通过Load Balancer,我不会使用此错误。如果我通过Load Balancer,我会在50%的时间内收到此错误。 Load Balancer具有粘性会话。
我的配置文件是这样的: 的validationKey = '2EEA416CEFC6D6BE856ED57B97FB9CA7DFACE17C073125949A1D682C80A44BB2AD887DDDC13DBFB0954F1000FEE5757E99693F222F8E28CAA2E6DAB8C4F99E0C' decryptionKey = '877478B2F33A74226ABEF55FDCC1A76E43F1BBEA6241A592' validation ='SHA1'/&gt;
<pages enableViewStateMac="false">
所以,我已经有了enableViewStateMac =“false”。如何使零星错误消失?
答案 0 :(得分:0)
您需要受负载均衡器影响的所有服务器使用相同的机器密钥,这样当视图状态生成到服务器1并发布到服务器2时,服务器2可以对视图状态进行身份验证,因为服务器1和服务器2都使用同样的关键。
更多信息:http://technet.microsoft.com/en-us/library/cc731979%28v=ws.10%29.aspx
编辑:
此外,如果您正在使用某些CSRF保护,则必须确保有一种方法可以在服务器之间保留该信息。 (某些CSRF保护方案指定了一个视图状态密钥)。