2014-01-28 99 views
1

我被一個客戶端通知一個網站,我保持快速連續幾次拋出此錯誤:EnableViewStateMAC設置爲false,卻收到「視圖狀態MAC驗證失敗」的錯誤

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. 

什麼是好奇的是,在每一頁上這已經在指令集:

<%@ page language="VB" autoeventwireup="false" enableviewstatemac="false" 

把一側的爲什麼有人關掉ViewState的MAC驗證的問題,我狼狽,以我怎麼能夠讓一個MAC驗證錯誤時它已被明確關閉。而且,在出現一些錯誤之後,該頁面又開始工作了。

這個ASP.Net網站剛剛從2.0升級到4.5,這是值得的。

+0

這可能幫助:http://www.dotnetvishal.com/2012/10/andling-validation-of-viewstate-mac.html – sr28

+0

能你分享堆棧跟蹤?此外,如果網站剛剛從2.0升級到4.5,則有可能在開放式網頁瀏覽器中存在一些現有頁面,其中新的(4.5)框架無法解釋「陳舊」(2.0)視圖狀態數據。視圖狀態的格式有時會改變,特別是在主要版本之間。您可能還想查看http://support.microsoft.com/kb/2915218以獲取有關解決這些錯誤的更多信息。 – Levi

+0

謝謝,但我們在轉移到暫存IP後收到錯誤,因此不可能存在緩存的陳舊視圖狀態。我試圖從堆棧跟蹤生產錯誤日誌。 –

回答

0

如果您使用跨頁面發佈到其他頁面,可能會發生這種情況。這是.net3.5 SP1引入的功能。你可以找到關於這個here的細節。

希望這會有所幫助。