2013年8月5日 星期一

ASP.NET 發生 Viewstate MAC 驗證失敗

很久以前有遇到這個問題,今天很不巧又遇到了,還是做個筆記...

 Viewstate MAC 驗證失敗原因:

當 ASP.NET 發生 Viewstate MAC 的驗證失敗 ( machineKey )
Validation of viewstate MAC failed error


解決方式:

1. 設定WebConfig 的MachineKey

到這邊取得Machine key

     或是以下網址:
      
http://www.betterbuilt.com/machinekey/
      http://www.codeproject.com/Articles/16645/ASP-NET-machineKey-Generator
     
→ 開啟WebConfig,在<system.web>裡加入MachineKey的參數:
      <system.web>
         
<machinekey validationkey="....." decryptionkey="....." validation="SHA1" decryption="AES">            </machinekey>
      </system.web>

2. 設定 ViewStateMac 為不啟用

→ 開啟WebConfig,在<pages>標籤下,加入 .. 
     <system.web>
        <pages EnableEventValidation="false" EnableViewStateMac="false" ViewStateEncryptionMode="Never" />

     </system.web>


參考
當 ASP.NET 發生 Viewstate MAC 的驗證失敗 ( machineKey )的解決方式
Validation of viewstate MAC failed Website on Web Farm 

     

沒有留言:

張貼留言