HttpModule是否在工作线程之间共享?

TN.*_*TN. 7 asp.net iis multithreading httpmodule ihttpmodule

我是否必须锁定对实例成员的访问权限?

例:

public class HttpModule : IHttpModule
{
    //...

    Dictionary<int, int> foo;

    void UseFoo(int a, int b)
    {
        foo[a] = b;
    }
}
Run Code Online (Sandbox Code Playgroud)

sbl*_*lom 4

到目前为止,MSDN 文档对我来说还不是很清楚,但我找到了一个声称知道答案的论坛帖子。听起来您不应该期望您的实现会发生不好的事情,但您应该意识到,foo的状态不一定在所有结果之间共享,因为您HttpModule将根据HttpApplicationIIS 选择保留在其池中的内容创建一次。