驗證視圖狀態 MAC 失敗的解決辦法


 今天給客戶維護系統時,在客戶端總是顯示系統維護的錯誤頁。

是軟件出了問題嗎?在服務器運行軟件,能正常使用。

是服務器出現了問題嗎?於是重啟了服務器。重啟后繼續訪問,還是系統維護。

到底是什么錯誤?於是,我關掉了錯誤頁。將<customErrors mode="On" >改成<customErrors mode="off">.

重新編譯,在客戶端運行,看到了錯誤原因驗證視圖狀態MAC失敗

百度錯誤,找到了解決方案

在web.config的節點里加入:
<system.web>
    <pages enableEventValidation="false" viewStateEncryptionMode="Never" enableViewStateMac="false/>
</system.web>

=============================================================================

說明:

enableViewState 可選的 Boolean 屬性, 默認值為 True。 指定視圖狀態是否啟用並在多個頁請求之間保持。

enableViewStateMac 可選的 Boolean 屬性, 默認值為 True。 指定從客戶端回發頁時,ASP.NET 是否應該對頁的視圖狀態運行消息身份驗證代碼 (MAC)。如果為 True,將檢查加密的視圖狀態,以驗證視圖狀態是否已在客戶端被篡改。

viewStateEncryptionMode 可選的 ViewStateEncryptionMode 屬性, 默認值為 Auto。此屬性是 .NET Framework 2.0 中的新屬性。

Always 視圖狀態始終加密。 Never 視圖狀態從不加密,即使控件請求加密時也是如此。 Auto 視圖狀態根據控件的請求而加密。

改完后,重新編譯,訪問,程序正常運行。

 

原文地址:http://www.cnblogs.com/chillsrc/archive/2009/08/21/1551217.html,如果次種方法行不通,作者還有其他解決方案供參考。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM