這個免費的在線工具:http://aspnetresources.com/tools/machineKey產生下machineKey元素web.config文件中的system.web元素。 這裏是什麼它生成一個例子:
<machineKey validationKey="1619AB2FDEE6B943AD5D31DD68B7EBDAB32682A5891481D9403A6A55C4F91A340131CB4F4AD26A686DF5911A6C05CAC89307663656B62BE304EA66605156E9B5" decryptionKey="C9D165260E6A697B2993D45E05BD64386445DE01031B790A60F229F6A2656ECF" validation="SHA1" decryption="AES" />
一旦你看到這個在你的web.config,錯誤本身突然有道理。 你所得到的錯誤說
"ensure that configuration specifies the same validationKey and validation algorithm".
當你看這個machineKey元素,突然間你可以看到它在說什麼。
在適當位置修改system.web元素下的pages元素可能不是必需的。這避免了與這些屬性相關的安全問題。
通過在你的web.config「硬編碼」這個值,即asp.net使用序列化和反序列化視圖狀態的鑰匙留在服務器場中是相同的,無論哪個服務器撿起來。您的加密變得「便攜」,因此您的視圖狀態變得「便攜」。
我只是猜測也許非常相同的服務器(不在農場)有這個問題,如果由於任何原因它忘記了它的密鑰,由於任何級別上的重置擦除它出。這也許就是爲什麼你會在空閒時間後看到這個錯誤,並嘗試使用「陳舊」頁面。
投票關閉,確切的重複的[CryptographicException:填充是無效的,無法刪除和驗證視圖狀態MAC失敗](http://stackoverflow.com/questions/1821243/cryptographicexception-padding-is-invalid-and-不能被刪除和驗證o) – 2010-09-20 18:03:06
不幸的是,這既是ASP.NET的一個bug,也是一個功能。 – 2010-09-20 18:04:17
我已經將頁面設置添加爲false和機器密鑰。兩個應用程序中的相同機器密鑰仍然顯示相同的錯誤 – Razack 2015-11-14 08:41:43