ASP.Net-页面类内部的单例类

| 我将单例类实现为页面中包含的私有类。在单例中,我将一些数据存储在一个volatile变量中。问题在于成员变量在页面执行之间保留其值。我的假设是在每次页面执行期间第一次使用该类时都会重新初始化。 为什么它会表现这种方式,应该怎么做?     
已邀请:
        如果单例实例是静态定义的,则将其范围限定为应用程序变量。静态作用域就像全局变量。     
        您的课程很可能被标记为“静态”,因此您所看到的是这种情况的副作用。来自静态类和静态类成员:   静态构造函数仅被调用一次,并且静态类在程序所驻留的应用程序域的生存期内保留在内存中。 因此,您所看到的是预期的行为。您的单例的私有成员保持其先前状态,因为该类保留在应用程序的内存中。如果要保持单例模式不变,但是在调用其中一个方法时希望其处于“新”状态,则可以重置该方法访问的任何私有成员变量的值。 关于何时使用您可能感兴趣的静态类,这是一个很好的讨论: 何时在C#中使用静态类     

要回复问题请先登录注册