Последовательность модулей ASP.NET Http - многопоточный вопрос - PullRequest
1 голос
/ 14 января 2011

У нас есть несколько модулей Http в нашем приложении ASP.NET. Модули обрабатывают запрос и устанавливают некоторые переменные Thread Static. Однако иногда кажется, что следующий модуль Http в последовательности выполняется в потоке, отличном от предыдущего, и статическая переменная потока в этом случае не устанавливается. Есть ли способ гарантировать, что каждый модуль Http будет работать в том же потоке, что и предыдущий.

Спасибо

1 Ответ

2 голосов
/ 14 января 2011

Нет, ThreadStatic следует избегать в контексте IIS. Вместо этого используйте HttpContext.Items. Невозможно избежать того факта, что IIS может обслуживать один запрос с несколькими рабочими потоками AFAIK. Смотрите, например это сообщение в блоге Скотта Хансельмана

...