Как управлять локальным хранилищем потоков (TLS) при использовании TPL?

Я хочу хранить контекстную информацию журналирования в TLS, чтобы я мог установить значение в точке входа и иметь это значение во всех результирующих стеках. Это работает хорошо, но я также использую TPL и ThreadPool. Тогда проблема заключается в том, как перенести данные TLS в другие потоки. Я могу все это делать сам, но тогда я теряю такие хорошие методы, как Parallel.For.

Есть ли способ скопировать TLS при использовании TPL? Это также будет применяться к C #, когда он получит функцию ожидания.

Спасибо, Эрик

10
задан Erick T 1 November 2011 в 00:24
поделиться