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