2013-02-05 105 views
0

我得到錯誤: 「視圖狀態MAC驗證失敗。如果此應用程序由Web Farm或集羣託管,請確保<machineKey>配置指定相同的驗證密鑰和驗證算法。AutoGenerate不能在集羣中使用。獲取錯誤:「驗證viewState MAC失敗。」

如果我沒有通過Load Balancer,我不會使用此錯誤。如果我通過Load Balancer,大約有50%的時間出現這個錯誤。負載平衡器具有粘滯會話。

我的配置文件是這樣的: 的validationKey = '2EEA416CEFC6D6BE856ED57B97FB9CA7DFACE17C073125949A1D682C80A44BB2AD887DDDC13DBFB0954F1000FEE5757E99693F222F8E28CAA2E6DAB8C4F99E0C' decryptionKey = '877478B2F33A74226ABEF55FDCC1A76E43F1BBEA6241A592' 驗證= 'SHA1'/>

<pages enableViewStateMac="false"> 

所以,我已經有enableViewStateMac = 「假」。我怎樣才能讓零星的錯誤消失?

回答

0

您需要受負載平衡器影響的所有服務器使用相同的機器密鑰,這樣,當視圖狀態生成到服務器1併發布到服務器2時,服務器2可以驗證視圖狀態,因爲服務器1和2都使用同樣的鑰匙。

的更多信息:http://technet.microsoft.com/en-us/library/cc731979%28v=ws.10%29.aspx

編輯:

此外,如果你使用的是CSRF保護,您必須確保有辦法堅持服務器之間的信息。 (一些CSRF保護方案指定了一個視圖狀態密鑰)。