gpt4 book ai didi

c# - .NET 公共(public)静态变量的 "lifespan"?

转载 作者:行者123 更新时间:2023-11-30 18:50:39 26 4
gpt4 key购买 nike

我做了一些实验。在来自 Login.aspx 按钮的 LoginButton_Click() 事件中,我有一段代码执行如下操作:

MyClass.MyPublicStaticString = LoginNameTextBox.Text;

登录后通过 FormsAuthentication 进入 Default.aspx。在 Default.aspx 上,我在 Page_Load() 上有一个代码,如下所示:

Label1.Text = MyClass.MyPublicStaticString.ToString();

等待几分钟后,即使 我的登录超时到期,Label1.Text 也变空了。

这里发生了什么?

最佳答案

静态字段(除非 [ThreadStatic])是每个应用程序域一个实例,这意味着:所有 请求共享相同 值。在 Web 应用程序中使用 static 时,您需要格外小心。如果有疑问:不要。

重新生命周期;应用域;它们在分配给静态字段时不会被收集,并且如果应用程序池在 IIS 中回收,它们将过期。

关于c# - .NET 公共(public)静态变量的 "lifespan"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5261680/

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