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

问题描述

| 我将单例类实现为页面中包含的私有类。在单例中,我将一些数据存储在一个volatile变量中。问题在于成员变量在页面执行之间保留其值。我的假设是在每次页面执行期间第一次使用该类时都会重新初始化。 为什么它会表现这种方式,应该怎么做?     

解决方法

        如果单例实例是静态定义的,则将其范围限定为应用程序变量。静态作用域就像全局变量。     ,        您的课程很可能被标记为“静态”,因此您所看到的是这种情况的副作用。来自静态类和静态类成员:   静态构造函数仅被调用一次,并且静态类在程序所驻留的应用程序域的生存期内保留在内存中。 因此,您所看到的是预期的行为。您的单例的私有成员保持其先前状态,因为该类保留在应用程序的内存中。如果要保持单例模式不变,但是在调用其中一个方法时希望其处于“新”状态,则可以重置该方法访问的任何私有成员变量的值。 关于何时使用您可能感兴趣的静态类,这是一个很好的讨论: 何时在C#中使用静态类     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...