2012-06-15 2 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)) 
Смежные вопросы