首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ASP.NET静态变量的生存期

ASP.NET静态变量的生存期
EN

Stack Overflow用户
提问于 2012-01-19 07:31:25
回答 3查看 98.2K关注 0票数 81

我在页面类(而不是Global.asax)定义的静态变量中保存了一些信息。我只在如下代码中声明变量:

protected static int SomeGlobalUnsecureID;
protected static string SomeGlobalUnsecureString;

并在PageLoad事件中定义变量。例如,我检查数据库中的ID,如果它不同于SomeGlobalUnsecureID,我会从其他地方更新SomeGlobalUnsecureID和String,否则就让它们保持原样。这在我的应用程序中是非常安全的。逻辑(即这些数据不安全,每个人都可以访问它们,没有问题);我唯一想要完成的事情是

如果且仅当持久信息与‘connected

  • Change’中的信息不同时,无论用户是谁,
  1. 都会保持相同的内存量(因为实际读取字符串对我来说很耗时。

现在,因为我在PageLoad中进行了检查,所以在重新加载页面时没有问题。然而,我的页面充满了WebMethods,有时我会看到静态变量被清零。奇怪的是,即使静态变量被清零,会话仍然是活动的(所以->没有服务器或应用程序。池重新启动等)

这对我来说真的很奇怪。我假设静态变量将保持它的值,直到应用程序(以某种方式)结束。但是,即使会话没有过期,静态变量也会被置零。你有什么建议?使用应用程序变量是更好的选择吗?我在web上读到的所有文档都建议使用静态变量而不是应用程序变量,我是否需要以某种方式声明它们不同?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8919095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档