C #: Что-то не так с настройкой HttpContext.Current в параллельном потоке?

Я использую библиотеку, основанную на HttpContext.Current. Библиотека - это Facebook C # SDK, но мой вопрос должен применяться и в других сценариях. Я бы хотел использовать эту библиотеку изнутри параллельного потока. Однако HttpContext.Current недоступен в параллельном потоке, поэтому я думаю о том, чтобы кэшировать его в локальную переменную, а затем установить в параллельном потоке следующим образом:

var httpContext = HttpContext.Current;
Parallel.ForEach(items, item => {

    try {

        HttpContext.Current = httpContext;

        // Call a method that relies on HttpContext.Current

    } finally {
        HttpContext.Current = null;
    }
});

Вы не предвидите в этом ничего плохого? Есть ли какие-то последствия для этого?

6
задан Johnny Oshika 21 October 2011 в 15:16
поделиться