一千萬個為什麽

搜索

無法驗證數據。在System.Web.Configuration.MachineKeySection.GetDecodedData

我有幾個網站每天總共獲得大約3000次綜合瀏覽量,我每天大約有5到10次這個視圖狀態錯誤,在global.asax中被捕獲:

System.Web.HttpException: Unable to validate data. at System.Web.Configuration.MachineKeySection.GetDecodedData(Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Int32& dataLength) at System.Web.UI.ObjectStateFormatter.Deserialize(String inputString)

我努力了:

  • 在所有網站的web.config中對機器密鑰進行硬編碼
  • 在machine.config
  • 中對machien鍵進行硬編碼
  • 將項目添加到所有網站的web.config的pages部分。

機器鍵看起來像:


Pages部分看起來像:


我可以說,這些錯誤與應用程序池回收無關,因為池設置為每100,000個請求回收一次。我沒有運行Web場或Web園。通常我會連續得到兩個或三個這樣的錯誤,就像用戶收到錯誤,返回,然後再次單擊鏈接一樣。

有人有主意嗎?

最佳答案

在慢速互聯網連接引起之前,我看到過“隨機”ViewState錯誤。緩慢的連接將導致頁面可視地呈現給用戶,但是它沒有完全加載。然後,用戶將對表單采取行動,從而發生“隨機”問題。

查看是否可以將異常時間戳與IIS日誌中請求的特定頁面相關聯。然後,您可以嘗試重新創建低帶寬方案,例如 Firefox Throttle

下面的類似問題證實了我的經歷,也可能是你所看到的:

ASP.NET: Unable to validate data

轉載註明原文: 無法驗證數據。在System.Web.Configuration.MachineKeySection.GetDecodedData