在多线程/线程池线程中访问asp.net会话

在多线程/线程池线程中访问asp.net会话,asp.net,vb.net,multithreading,session,Asp.net,Vb.net,Multithreading,Session,我正在尝试在线程池线程中访问ASP.Net会话。 页面执行将完成,但线程将再执行5-10秒 代码如下所示 Dim tContex As HttpContext = HttpContext.Current ThreadPool.QueueUserWorkItem(AddressOf ThreadPoolCallBack, tContex) Public Sub ThreadPoolCallBack(ByVal threadContext As Object) HttpContext.

我正在尝试在线程池线程中访问ASP.Net会话。 页面执行将完成,但线程将再执行5-10秒

代码如下所示

 Dim tContex As HttpContext = HttpContext.Current
 ThreadPool.QueueUserWorkItem(AddressOf ThreadPoolCallBack, tContex)
Public Sub ThreadPoolCallBack(ByVal threadContext As Object)
    HttpContext.Current = CType(threadContext, HttpContext)
   Dim userId As Integer = HttpContext.Current.Session("userId")
    DoProcess()
End Sub
方法如下

 Dim tContex As HttpContext = HttpContext.Current
 ThreadPool.QueueUserWorkItem(AddressOf ThreadPoolCallBack, tContex)
Public Sub ThreadPoolCallBack(ByVal threadContext As Object)
    HttpContext.Current = CType(threadContext, HttpContext)
   Dim userId As Integer = HttpContext.Current.Session("userId")
    DoProcess()
End Sub
在ThreadPoolCallBack方法中,我可以访问HttpContext和Request param变量,但由于丢失会话,我无法访问会话变量。HttpContext.Current*中的会话变为空/无

是否有任何方法可以在另一个线程中访问ASP.Net会话。是的,有一种方法

而是传递会话变量

密码 方法
您将
线程池.QueueUserWorkItem
放在哪里?这不起作用,因为我正在处理直接需要访问会话的现有代码。我无法修改现有的代码库。