У меня есть приложение C# ASP.NET, которое запускает около 25 различных потоков, выполняющих некоторые методы в классе SiteCrawler.cs.
В HttpContext.Current.Session
я хочу сохранить результат поиска, сделанный пользователем, и представить его пользователю, когда все потоки будут завершены. Моя проблема в том, что объект HttpContext.Current
имеет значение null в порожденных потоках, потому что его там нет.
Какие еще варианты у меня есть для сохранения конкретных данных пользователя/сеанса без использования сеанса из-за ограничений, когда приложение является многопоточным?
Я пытался найти решение на каждом дюйме Stackoverflow, но безуспешно....
HttpContext
— это испачкать рукиSynchronizationContext
. Вместо того, чтобы вдаваться в подробности, я просто укажу вам на этот тщательный и хорошо написанный пост в блоге, который отвечает на ваш вопрос оHttpContext
, а также в более сложных сценариях многопоточности. В нем он упоминает классический пост Стивена Туба [ExecutionContext vs SynchronizationContext](http - person Mark   schedule 28.02.2019