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

时间:2008-10-28 11:05:56

标签: c# asp.net

我需要在Web应用程序中更改对象的静态属性。该属性具有硬编码到对象中的默认值。如果我更改了Application_Start中的静态属性,那么改变了吗:

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

B)直到对象为GC'd,然后由下一个访问者重新进行<-p>

C)取决于

请注意,我要设置的属性只是一个String

3 个答案:

答案 0 :(得分:3)

静态变量的范围是它的AppDomain。所以不,它不会被垃圾收集 - 但如果AppDomain被回收(在ASP.NET中会发生相当大的数量),那么你最终会得到一个“新的”静态变量。

答案 1 :(得分:1)

根据我在这里使用我们的Web应用程序的经验,答案是A.据我所知,静态类永远不会被GC,它会持续一段时间(在这种情况下,ASP.NET工作者)处理)

答案 2 :(得分:1)

去A) 应用实例变量

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