gpt4 book ai didi

c# - System.Web.HttpContext.Current 在请求之间是静态的

转载 作者:太空狗 更新时间:2023-10-29 20:27:55 25 4
gpt4 key购买 nike

在我的 Web 应用程序中,我使用 System.Web.HttpContext.Current 它代表当前的命中上下文,我想知道如何从任何地方访问它,直到我注意到它是一个 静态成员!虽然它是一个静态成员,但如果几乎同时收到两个请求,它如何保持其值(value)。像下面这样:

#Req1----> | set the value of the static field to req1
#Req2----> | set the value of the static field to req2
#Req1 | use that static its supposed to be req2 while its req1

我是不是理解错了什么,或者其中有什么技巧?

最佳答案

这是一个非常聪明的问题!

HttpContext.Current 作为线程局部变量实现。实际上,它是使用 LogicalCallContext 实现的,但它的行为类似于本地线程。

可以这样想:

[ThreadLocal]
public static HttpContext Current;

是的,这意味着只有主请求线程才能访问它。在您启动的其他线程上它将为 null。

关于c# - System.Web.HttpContext.Current 在请求之间是静态的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15586327/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com