У меня есть страница ASP.NET ASPX, которая принимает и возвращает XML.
Некоторые типы запросов, которые может обрабатывать этот файл, включают выполнение некоторых задач, которые параллельно взаимодействуют с внешними серверами, а затем агрегирование результатов. Это делается путем создания новых потоков для выполнения этой работы и передачи контекста HTTP каждому.
Оказывается, что HTTP-контекст не является потокобезопасным и всегда имеет значение NULL в каждом потоке. Контекст необходим для кэширования объектов XSLT, чтобы каждому потоку в каждом запросе не приходилось каждый раз считывать данные с диска. Кеширование фактически никогда не работало.
Я стремлюсь сделать эту работу, либо выполняя различные потоки, передавая некоторую форму контекста, которая будет работать, либо изменяя рабочий код для кэширования другим способом.
Я не уверен, какой способ исправить это будет наиболее подходящим или лучшим способом сделать любой из них. Любой вклад будет высоко ценится.