我知道当你通过调用BeginInvoke()或ThreadPool.QueueUserWorkItem(...)等方法以并行方式运行某些方法时,.NET框架会捕获ExecutionContext对象,其中包含代码访问安全性信息和其他一些内容。
我想要的是,在执行并行任务的同时向ExecutionContext中添加一些数据,但这些数据也必须在任务入队时被捕获。
问题在于,我并不总是控制创建此并行任务的代码,因此必须找到一种在调用此外部代码之前存储此数据的方法。这就是我考虑使用ExecutionContext类的原因。
在我无法总是控制将工作分配给线程的代码时,是否有一种方法可以传递一些状态给并行任务呢?