【问题标题】:ASP.NET Http Modules Sequence - threading questionASP.NET Http 模块序列 - 线程问题
【发布时间】:2011-01-14 23:09:56
【问题描述】:

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

谢谢

【问题讨论】:

    标签: c# asp.net multithreading httpmodule


    【解决方案1】:

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

    【讨论】:

    • 谢谢。那么模块序列呢?我们可以相信首先在 web.config 中声明的模块会被首先调用吗?由于某种原因,MSDN 错过了这些信息。
    • 我很确定当我使用它们时,它们总是按照配置中声明的顺序执行,但不幸的是,我找不到任何文档可以证明这是有效的依赖并不仅仅是在当前版本的 IIS 中实现它的工件。
    猜你喜欢
    • 1970-01-01
    • 2011-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-20
    • 2018-08-29
    • 2022-08-18
    • 1970-01-01
    相关资源
    最近更新 更多