asp.net – 当HttpContext属性返回null时如何检索?

我在一个单独的线程上做一些异步工作使用:
ThreadPool.QueueUserWorkItem()

在这个单独的线程中,我需要调用HttpContext.Current,以便我可以访问:

HttpContext.Current.Cache  
HttpContext.Current.Server  
HttpContext.Current.Request

但是,当我创建这个单独的线程时,HttpContext.Current为null。

如何创建一个新的线程,使HttpContext.Current不为空?还是有另一种方式可以访问缓存,服务器和请求对象?

解决方法

我试着不要对依赖于ASP.NET堆栈的对象(如HttpContext)的引用。如果你需要在一个不同的线程中做一些工作,那是因为你不想在ASP.NET中等待,直到你的任务完成。也可能在您的线程没有时终止请求/上下文/会话。

您应该传递一个对象,其中包含您的线程所需的数据。

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....