4
我嘗試在我的MVC3應用程序中實現長輪詢。Asp.net MVC3長時間輪詢會話
長輪詢使用以下代碼正常工作:我可以在線程休眠時重新加載無問題的頁面。
[AsyncTimeout(30 * 1002)]
public void TestAsync()
{
AsyncManager.OutstandingOperations.Increment();
var queued = ThreadPool.QueueUserWorkItem(new WaitCallback(parm =>
{
var wait = new AutoResetEvent(false);
wait.WaitOne(TimeSpan.FromSeconds(30));
AsyncManager.OutstandingOperations.Decrement();
}));
}
//--------------------------------------------------------------------------------
public ActionResult TestCompleted()
{
return Json(null);
}
//--------------------------------------------------------------------------------
但是,如果我的應用程序一樣使用會話..
this.Session["XXX"] = "Test";
線程運行時,我不能重新加載頁面。頁面等待單元線程就緒,然後頁面將刷新。
我該如何解決這個問題?
如果你這樣做是因爲你想了解長輪詢..真棒..如果不使用.. .. SignalR這是在沒有必要的區域在現有良好支持解決方案的情況下重新發明輪子。哦,如果你正在學習長輪詢,你應該花一些時間在SignalR源代碼中。 – 2012-08-03 17:58:29