В чем разница между CallContext и ThreadStatic?
Я понял, что в среде ASP.NET данные, хранящиеся в CallContext, могут сохраняться на протяжении всего запроса до тех пор, пока он не закончится, пока ThreadStatic может работать или не работать, поскольку запрос может переключать потоки. Я также узнал, что HttpContext внутренне хранится с использованием CallContext.
В обычном приложении оба они сохраняются во всем одном и том же поточном вызове. Когда это не так?
Изменить: В комментариях я узнал, что контекст вызова - это абстракция поверх статического хранилища потоков. Структура ASP.NET явно перемещает данные из одного потока в следующий, чтобы обрабатывать один запрос. Другие среды, которые хотят обеспечить гибкость потоков, могут сделать то же самое для контекстного хранения.