2011-02-15 59 views
1

我有一個簡單的aspx頁面和一個網格視圖。當部署在服務器上並通過該機器訪問時,它可以正常工作。但是,當通過負載平衡器連接時,我們會收到此錯誤(點擊任何按鈕時)。當按下F5時頁面刷新。aspx頁面給出了狀態錯誤

Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster. 

任何想法這裏發生了什麼?

回答

0

新增enableViewStateMAC =虛假的頁面指令

2

您應該將web.config上的machineKey設置爲對所有負載平衡服務器都相同。 機器密鑰用於加密,驗證,哈希等所有ASP.NET內部的東西。當ViewState在一臺機器上創建時,它是使用該機器的機器密鑰創建的,因爲其密鑰不同,所以其他機器無法驗證它。儘管它被稱爲機器密鑰,但它可以根據應用程序進行設置。

機器鍵有多個生成器(寫入一個不難)。這是第一個谷歌命中: http://aspnetresources.com/tools/machineKey

+0

如何生成驗證密鑰和解密密鑰? – genericuser 2011-02-15 15:25:33