我尝试在我的 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";
线程运行时我无法重新加载页面。页面等待线程准备就绪,然后页面将刷新。
我怎么解决这个问题?