2011-01-14 46 views
1

我们在ASP.NET应用程序中有多个Http模块。 模块正在处理请求并设置一些线程静态变量。 但是,有时似乎顺序中的下一个Http模块是在与前一个不同的线程中执行的,并且线程静态变量在此情况下未设置。 有没有什么办法可以保证每个Http模块都能像之前一样工作。ASP.NET Http模块序列 - 线程问题

谢谢

回答

2

不,ThreadStatic应避免在IIS上下文中。改为使用HttpContext.Items。无法避免IIS可能为多个工作线程AFAIK提供单个请求这一事实。参见例如这Scott Hanselman blog post

+0

谢谢。那么模块序列呢?我们能否依靠先在web.config中声明的模块被首先调用?由于某种原因MSDN错过了这些信息。 – 2011-01-14 15:15:28