Asp.net
ASP.NET:無法驗證數據
ASP.NET 中此異常的原因是什麼?顯然這是一個視圖狀態異常,但我無法在引發異常的頁面上重現錯誤(一個簡單的兩個 TextBox 表單,帶有一個按鈕和導航連結)。
FWIW,我沒有執行網路農場。
例外
錯誤消息:無法驗證數據。
錯誤來源:System.Web
錯誤目標站點:字節
$$ $$ 獲取解碼數據(字節$$ $$, 字節$$ $$, Int32, Int32, Int32 ByRef)
發布數據
觀點:
/wEPDwULLTE4NTUyODcyMTFkZF96FHxDUAHIY3NOAMRJYZ+CKsnB
事件驗證:
/wEWBAK+8ZzHAgKOhZRcApDF79ECAoLch4YMeQ2ayv/Gi76znHooiRyBFrWtwyg=
異常堆棧跟踪
at System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError) at System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) at System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(String serializedState) at System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState) at System.Web.UI.HiddenFieldPageStatePersister.Load() at System.Web.UI.Page.LoadPageStateFromPersistenceMedium() at System.Web.UI.Page.LoadAllState() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest() at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) at System.Web.UI.Page.ProcessRequest(HttpContext context) at ASP.default_aspx.ProcessRequest(HttpContext context) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)~ 威廉·萊利-蘭德
此錯誤的最可能原因是在所有視圖狀態載入之前停止回發(使用者點擊停止或返回按鈕),視圖狀態將無法驗證並拋出錯誤。
其他潛在原因:
- 從生成視圖狀態到使用者將其發布回伺服器(不太可能)之間的應用程序池回收。
- machineKeys 未同步的網路場(不是您的問題)。
更新:關於該問題的 Microsoft 文章。除了上述之外,他們還提出了另外兩個潛在的原因:
- 通過防火牆/防病毒軟體修改視圖狀態
- 從一個 aspx 頁面發佈到另一個頁面。