這是錯誤無效的回發或回調參數
無效的回發或回調參數。事件驗證在配置中啓用,或在頁面中啓用<%@ Page EnableEventValidation =「true」%>。爲了安全起見,此功能驗證回發或回調事件的參數來自最初呈現它們的服務器控件。如果數據有效且預期,請使用ClientScriptManager.RegisterForEventValidation方法爲註冊回發或回調數據進行驗證。
,我也越來越這些只是經常
狀態信息是這個頁面無效,可能已損壞。
我讀過其他大約20「無效的回發或回調參數」問題&的答案,我不認爲我屬於任何普通類:創建
- 動態客戶端或改變控件ASP.NET不知道
- 用戶提交的代碼或代碼位,例如「<」和「>」字符每Page_Load事件
- 結合數據,而無需使用如果(!的IsPostBack)審慎
- 故障AJAX CascadingDropDown擴展
- 俄羅斯試圖破解您的網站(!)
- 上的用戶間歇性問題進行撥號(!)
- ASP.NET版本之間不匹配,例如,具有既ASP.NET服務器羣1.1和2.0同時使用
我想我的問題最近似於此列表中的最後一個。
我在表格回傳得到錯誤間歇性地(但通常)在我的2微軟Azure的Web服務器負載平衡測試環境。
我注意到,當一臺服務器產生的頁面張貼回其他發生的問題。當我取消負載平衡(僅僅打到一臺服務器)時,問題就消失了。
我在一臺Web服務器上使用Win Server 2008 R2(IIS7.5),另一臺服務器上使用Win Server 2012(IIS8)(我對2008年很熟悉,謹慎的2012年,但想學習,所以我選擇了運行其中的一個來對衝我的賭注,以防你想知道)。
2008整機運行ASP.NET版本 「4.0.30319。」 和2012年一個運行 「4.0.30319。」,但顯然不同版本的IIS。
但他們都運行ASP.NET 4.0。 .NET應該讓底層操作系統透明,對吧?所以我不太確定這是否會導致問題。
重新建一個服務器,使他們同樣是很繁瑣的事,並希望避免它,如果未成年ASP.NET差異不是問題的原因!
那麼還有其他什麼原因,兩臺服務器在回發時不會接受彼此的表單嗎?僅供參考,我已經在兩臺服務器上的web.config中添加了一個條目,以修復「驗證視圖狀態MAC失敗」錯誤。
或者是否有任何配置更改,我可以做,使服務器更兼容?
謝謝!
有是你的頁面生成和發佈是回以確保沒有一個是改變你的頁面上的各種參數的「散列碼」。如果這兩個機器中的任何原因導致代碼不同,那麼就會失敗。 – Aristos
要檢查您是否在兩臺計算機上有不同的驗證,請檢查來自每個計算機的兩個頁面,並查看__EVENTVALIDATION條目。一定是一樣的。如果不是,那麼這是問題。確保'machineKey'在兩臺計算機上都有相同的validationKey和驗證算法。 – Aristos
@Aristos - 是的,machineKey在兩臺計算機上都有相同的validationKey和驗證算法。但是'__EVENTVALIDATION'條目與它們每個都有很大不同。在Win2012服務器上,'__EVENTVALIDATION'也是兩倍多。我會繼續調查。 – poshest