How do I override the execution context when creating a new Task object? I want to use one that I previously captured using ExecutionContext.Capture.

有帮助吗?

解决方案

The same as you would when not using TPL: using ExecutionContext.Run(). For example:

Task.Factory.StartNew(
    () => ExecutionContext.Run(
        ec, _ => Console.WriteLine(CallContext.LogicalGetData("foo")), null))
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top