2011-01-14 1 views
1

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

Благодаря

ответ

2

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

+0

Спасибо. А как насчет последовательности модулей? Можем ли мы полагаться, что первый модуль, объявленный в web.config, сначала будет вызван? По какой-то причине MSDN пропускает эту информацию. –

+0

Я уверен, что они всегда исполнялись в порядке, указанном в конфиге, когда я их использовал, но, к сожалению, я не могу найти какую-либо документацию, которая могла бы подтвердить, что это справедливо для того, чтобы полагаться, а не только на артефакт как это реализовано в текущей версии IIS. –

 Смежные вопросы

  • Нет связанных вопросов^_^