代码之家  ›  专栏  ›  技术社区  ›  Loki

Web上下文中静态属性的影响

  •  1
  • Loki  · 技术社区  · 18 年前

    我需要更改Web应用程序中对象的静态属性。属性的默认值是硬编码到对象中的。如果我更改了应用程序中的静态属性,“Start”是否更改了Stick:

    a)永远(好吧,直到应用程序被回收)

    b)直到对象是gc,然后由下一个访问器重新初始化。

    c)取决于

    注意,我要设置的属性只是一个字符串

    3 回复  |  直到 17 年前
        1
  •  3
  •   Jon Skeet    18 年前

    静态变量的作用域是其AppDomain。所以不,它不会被垃圾收集-但是如果AppDomain被回收(在ASP.NET中可能会有相当数量的回收),那么您最终将得到一个“新”的静态变量。

        2
  •  1
  •   David Wengier    18 年前

    根据我在这里使用Web应用程序的经验,答案是a。据我所知,静态类永远不会被gced,它在进程的生命周期中一直存在(在本例中,是ASP.NET工作进程)。

        3
  •  1
  •   Ray Lu    18 年前

    去A) 应用程序实例变量

    有关上下文存储,请参阅httpcontext。