See*_*eeR 9 .net multithreading
我知道当你通过调用BeginInvoke()或ThreadPool.QueueUserWorkItem(...)并行运行某个方法时,.NET框架正在捕获包含代码访问安全信息和其他一些东西的ExecutionContext对象.
我想要的是在ExecutionContext中包含我的并行方法所需的一些数据,但也必须在排队任务时捕获.
问题是我并不总是能控制创建此并行任务的代码,所以我必须找到一种方法来存储这些数据,然后再调用这个外部代码.这就是为什么我想到ExecutionContext类.
当我并不总是控制在线程之间分割工作的代码时,有没有办法将某个状态传递给并行任务.
See*_*eeR 12
找到了:
CallContext.LogicalSetData(...)
Run Code Online (Sandbox Code Playgroud)
(文件)
和
CallContext.LogicalGetData(...)
Run Code Online (Sandbox Code Playgroud)
(文件)