我知道,当您通过调用BeginInvoke()或ThreadPool.QueueUserWorkItem(...)并行运行某些方法时,.NET框架会捕获包含代码访问安全性信息和其他内容的ExecutionContext对象。

我想要的是在ExecutionContext中包含我的并行方法所需的一些数据,但是在排队任务时也必须捕获这些数据。

问题在于,并非总是可以控制创建此并行任务的代码,因此在调用此外部代码之前,我必须找到一种存储此数据的方法。那就是为什么我想到了ExecutionContext类。

当我不总是控制在线程之间分配工作的代码时,有什么方法可以传递并行任务的某些状态。

最佳答案

找到了:

CallContext.LogicalSetData(...)

(documentation)


CallContext.LogicalGetData(...)

(documentation)

10-01 03:04
查看更多