2010-04-21 72 views
2

在生產中有一個奇怪的錯誤,只是想知道服務器是否可以處理一半提交的網頁?asp.net可以提交一半的網頁進行處理嗎?

的頁內只使用普通的舊的HTML控制和經由的Request.Form [名稱]等

在後端顯示在中繼器中存取數據的視圖狀態是否有可能爲一個請求被截斷可能是由於丟失了互聯網連接,並且該頁面仍然由服務器處理。因此,如果字段不是請求Request.Form [name]的一部分可能導致null?

我知道可以使用提琴手來修改請求,但不幸的是,我們不允許更改組策略並更改代理!

很多謝謝

回答

1

請求被截斷可能是由於互聯網連接丟失以及服務器仍在處理頁面嗎?

是的,這是可能的,如果有一個人按下提交按鈕,即使頁面沒有完全加載瀏覽器中關閉該表格並提交什麼都擁有,直到那一刻。 !

要檢查的頁面充滿了發送,左EnableEventValidation =真 如果該頁面未完全發送,那麼你得到一個罰球錯誤。

我想也是Page.IsValid函數做了類似的工作。如果頁面有限,那麼您將獲得所有數據。

所以,如果你在頁面的一部分上有延遲,你會得到什麼數據瀏覽器,直到那時。

要測試我說的在你的頁面中使用這段代碼,當你的頁面到達這個延遲時,點擊一個按鈕,你只能得到到目前爲止的數據。

<% 
Response.Flush(); 
System.Threading.Thread.Sleep(10000); 
%> 

任何頁面可以被破壞的數據提交,會發生很多次,

而這就是爲什麼MS已經包括在每一頁的__EVENTVALIDATION隱藏控件(除非你禁用它),檢查如果頁面被更正,請將其發回。

+1

感謝您現在可以複製您的建議並解釋奇怪的行爲。 – c00ke 2010-04-21 13:09:05

0

這是不可能的。該頁面是否提交。

要調試該問題,請記錄所有表單字段(名稱和值)並在其中查找錯誤。 很可能您正在使用相同的IDName,這就是您丟失字段的原因。

相關問題