Sữa lỗi Validation of Viewstate MAC Failed Khi Host Web Asp Net

Khi ta dev website bằng ASP.NET, test thử trên localhost thì chạy rất tốt. Tuy nhiên, khi host website này trên web-hosting mà có nhiều website cùng chạy thì thường gặp phải lỗi sau:

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.

Bạn có thể giải quyết lỗi trên bằng cách thêm dòng cấu hình sau vào giữa thẻ <system.web> trong file web.config

<system.web>
<pages enableViewState="false" />
</system.web>

Tuy nhiên, việc disable ViewState sẽ khiến cho website của bạn kém bảo mật hơn. Một cách khác là thêm machineKey vào file cấu hình.

<system.web>
<machineKey validationKey="CB6A48DD7D192C2576A368D8322BA41C74B8304225DB5DD6C80CC1F3DC33F427BCFCF7ED7CAA947AF863B2A3C16E3D5B9E20525023062C9B277D9FB03A811F5D" decryptionKey="BC3570D4D14569DA4C3BC4F2927F61AF751740EE6FE6DACBFC2A0AD8D8ACCEC8" validation="SHA1" decryption="AES" />
</system.web>

Để sinh machineKey, bạn có thể sử dụng các tools miễn phí:

http://tek.dev.eten.vn/dotNet/MachineKeyGenerator/ http://www.developerfusion.com/tools/generatemachinekey/