2010-12-01 43 views
2

首先讓我說出我正在嘗試完成的事情。我想通知我的Web應用程序的用戶是否對他們當前正在處理的文檔進行了更改。我打算使用長輪詢來達到我想要的結果。 當我向長輪詢頁面發送請求時(輪詢並在迭代之間休眠大約250ms,直到超時到期)並嘗試同時在我的網站上加載另一個頁面時,第二個請求將排隊,直到第一個請求完成。有沒有解決這個問題的方法?在這種情況下,使用網絡花園或任何形式的會話管理都不能接受InProc。感謝大家提供的任何幫助。使用InProc會話管理的併發ASP.NET請求

回答

1

這可能是會話同步導致請求被順序處理。如果您可以將您的長輪詢處理程序更改爲不能識別會話,那麼它應該解決問題。

你沒說什麼目標,但如果它是一個.ashx或定製IHttpHandler沒有實現IRequiresSessionState那麼這個請求也不會附着(或同步)會議。當然這也意味着長時間輪詢請求將無法訪問會話。

+0

非常感謝您的幫助,解決方案非常完美。看起來你的假設是正確的。AJAX處理程序被實現爲沒有內部HTML的標準.aspx文件。如果我有機會,我還會嘗試花時間將所有AJAX處理程序切換到普通的通用處理程序。我敢肯定,我這樣做是因爲我不瞭解IRequiresSessionState的存在。再次感謝薩姆。 – mmaguigan 2010-12-01 20:31:09