2012-06-15 29 views
2

如何在創建新的Task對象時重寫執行上下文?我想使用之前使用ExecutionContext.Capture捕獲的一個。在TPL中,我如何覆蓋執行上下文?

+1

和在這篇文章的同一天! http://blogs.msdn.com/b/pfxteam/archive/2012/06/15/executioncontext-vs-synchronizationcontext.aspx –

+0

@JamesManning是的,我也注意到了。雖然我認爲這不是巧合。 – svick

+0

我看到它,並意識到它可以解決我遇到的全局問題。 –

回答

2

和你不使用TPL時一樣:使用ExecutionContext.Run()。例如:

Task.Factory.StartNew(
    () => ExecutionContext.Run(
     ec, _ => Console.WriteLine(CallContext.LogicalGetData("foo")), null))