2010-06-09 51 views
1

我們使用asp.net 2.X被劫持,我們使用存儲在SQL Server中,LOADBALANCE 2個web服務器,IIS6會話狀態。視圖狀態看似不經意

我們的問題是,在過去的3個月中,我們有2個情況下,一些用一個我們的調查形式已經看到別人的信息例如名字和姓氏。我們沒有從會話中的對象中填充表單,所以我得出結論,第二個用戶不知何故從第一個用戶那裏接收到了視圖狀態,然後用戶嘗試提交併出現錯誤,例如已發佈視圖狀態並返回相同的頁面,並且其他用戶同時請求了該頁面(必須位於同一服務器上,我猜測它是否是視圖狀態問題)。

有沒有人遇到過這個?一些問題在我腦海中醞釀圍繞如何不工作進程知道retun視圖狀態的唯一要求,它是如何確定一個唯一的請求等。

回答

1

你使用asp.net緩存?

過去

,也出現了一些已知問題緩存和不匹配的會話負載控制的環境。

我相信它本文會談 http://msdn.microsoft.com/en-us/magazine/cc163577.aspx#S1

+0

感謝文章中,我們使用的內核模式緩存或由PARAM變化response.output.cache,查詢形式不添加到輸出緩存。奇怪的是,這是一個視圖狀態問題,儘管我在文章中討論了會話對象,但關鍵是我們使用自定義控件,因此viewstate可能會稍有不同,另外還有文章提到的事實:OutputCacheModule有時會失敗從它傳遞到緩存的響應剝離的Set-Cookie頭Http.sys的..和連接的用戶......這可能是在未來的響應服務了相同的HTML ... – dvr 2010-06-09 16:57:28

+0

加上我們在WIN2003 – dvr 2010-06-09 16:58:08

+0

除非覆蓋的ViewState管理您的自定義控制,所以它應該是均勻的.NET控件其餘.. 可能是值得更多的研究它.. 它也可能是值得升級到較新的框架的努力.. – 2010-06-09 17:21:57