Didier 帝迪ㄟ珍天帝

Didier 帝迪ㄟ珍天帝與你分享
我就是我 世上無人可取代 正面、積極、樂觀、享受人生
將心情、觀感、心愛的大小老婆、建議及所知道的技術文件一一POST出來

2007年12月15日 星期六

Viewstate MAC 的驗證失敗。如果此應用程式是由 Web 伺服陣列或叢集所裝載,請確定 組態指定有相同的 validationKey 和驗證演算法。AutoGenerate 無法在叢集中使用。

有以下兩種可能
1.網頁有導向非ContentPage網頁

如<script language=JavaScript>top.location.href='http://xxxxxxxxxx/Error.aspx';</script>

2.Server有做Cluster
你有兩台Web Server,當另一台要驗證ViewState時,
validationKey或decryptionKey必須是相同的,所以必須自行產生validationKey後,
才能以相同的驗證碼來處理ViewState甚至cookie等

在預設狀況ASP.NET會隨機建立manchineKey當作驗證碼,

<configuration>
<system.web >
<machineKey validationKey = "AutoGenerate,IsolateApps"
decryptionKey = "AutoGenerate,IsolateApps" validation = "SHA1"/>
</system.web>
</configuration>