我有點困惑。我沒有明確地設置Web.config <pages ViewStateEncryptionMode="Always" />
,所以this MSDN page說它應該默認爲Auto
。 This MSDN page表示如果控件通過調用RegisterRequiresViewStateEncryption
方法請求加密,則Auto
應導致視圖狀態信息被加密。但是,我的控件都沒有調用該方法。所以看起來我的視圖狀態實際上不應該被加密。我的VIEWSTATE是否已加密?
但是,當我將視圖狀態複製/粘貼到各種onlineviewstatedecoders之一時,我被告知視圖狀態序列化數據無效。那麼,我的viewstate是否被加密?有沒有一些明顯的方法可以告訴?除非您禁用它,否則默認的ASP.net行爲會更改爲通過默認方式對視圖狀態進行編碼?
只需注意一下,如果視圖狀態包含用戶控件,無論是否正在使用加密,只需說明聯機視圖狀態解碼器有時會顯示「序列化數據無效」。 – James 2011-06-25 10:54:09