0

我需要在异步模式下执行一个方法。我尝试创建一个委托,但请求完成后会话被销毁。此功能需要在此之后继续运行,才能使用System.Web.HttpContext.Current.Session

是否有一种解决方法允许异步运行的方法在请求完成后继续执行?

谢谢。

4

1 回答 1

0

您可以使用委托(例如 with ThreadPool.QueueUserWorkItem),但您需要获取对HttpSessionStateBase委托外部的引用:

HttpSessionStateBase session = Session;

ThreadPool.QueueUserWorkItem(delegate
{
    // You can access session variable here
    ...
});

在您持有参考之前,会话不会被销毁。这里有一个简单的示例:Reporting server side operation progress with jQuery UI Progressbar

于 2012-10-09T12:56:50.163 回答