dll中的静态变量,试用了你就会想哭

问题描述

把下面的类编译成dllpublicclassClass1{publicstaticintgg;staticClass1(){gg++;System.Web.HttpContext.Current.Response.Write(DateTime.Now)}}在页面中调用上面的静态变量protectedvoidPage_Load(objectsender,EventArgse){Response.Write(Class1.gg);}想哭了吧,每次页面刷新,Class1类的静态构造函数都被调用但是Class1类不编译成dll就没有问题

解决方案

解决方案二:
可能是这样的,每次页面刷新DLL都会被重新加载,接着就被御载了,而当一个进程将DLL的映像文件映射到它的地址空间中去时,系统将同时创建全局数据变量和静态数据变量的实例。此外,DLL中函数的代码创建的任何对象均由调用线程所拥有,而DLL本身从来不拥有任何东西。
解决方案三:
路过帮顶

时间: 2024-10-26 05:05:30

dll中的静态变量,试用了你就会想哭的相关文章

delphi-Delphi中,怎么获取DLL中定义的变量

问题描述 Delphi中,怎么获取DLL中定义的变量 可以使用动态加载或静态加载的方式使用DLL中的方法,但是怎么能够获取DLL中定义的变量来使用它呢? 解决方案 要明确2个概念: 1.Dll是EXE的一个变种形态.它是可执行的. 2.Dll虽然由EXE调用,但执行读入内存后,Dll与EXE分别是独立的内存区域,相互不联系的.二者的数据(变量等)不能传递的. 为了能让Dll是EXE通联,往往可以通过以下几种方式建立联系. 1.发消息,它是单相思,消息发出后,对方知道否,接受了吗,不得而知. 2.

在.NET中使用静态变量来代替Application变量

application|变量|静态 wincheer|2002-3-1 --------------------------------------------------------------------------------     在传统的ASP程序中,我们总是使用Application对象来保存应用程序级的变量.这种方式比较耗费内存----看看那些空间供应商明目张胆的限制Application的数量就知道了.现在好了,我们有了.NET ,可以充分发挥静态变量的优点.一方面,可以作为应

asp.net中使用静态变量

asp.net|变量|静态 在asp.net中使用静态变量要比application更好的选择在传统的asp页面中,我们需要利用application变量传递一些特殊变量,在asp.net中任何页面都可以是类,Global.asax也不例外.我们只需要在Global.asax加入类名.  <%@ Application Classname="MyGlobals" %>然后我们定义几个静态变量.在vb.net中使用shared在C#中使用staticVB:<Script

python类和函数中使用静态变量的方法

  本文实例讲述了python类和函数中使用静态变量的方法.分享给大家供大家参考.具体分析如下: 在python的类和函数(包括λ方法)中使用静态变量似乎是件不可能[Nothing is impossible]的事, 但总有解决的办法,下面通过实现一个类或函数的累加器来介绍一些较为非主流的方法 方法一.通过类的__init__和__call__方法 ? 1 2 3 4 5 6 7 8 9 10 11 class foo: def __init__(self, n=0): self.n = n d

php中的静态变量的基本用法

 静态变量只存在于函数作用域内,静态变量只存活在栈中,下次再调用这个函数的时候,该变量的值会保留下来 静态变量只存在于函数作用域内,静态变量只存活在栈中.一般的函数内变量在函数结束后会释放,比如局部变量,但是静态变量却不会.下次再调用这个函数的时候,该变量的值会保留下来.    静态的变量的基本用法    1. 在类中定义静态变量  [访问修饰符] static $变量名;  2. 如何访问静态变量  如果在类中访问 有两种方法 self::$静态变量名 , 类名::$静态变量名  如果在类外访

groovy脚本中(非类中)可以使用静态变量吗

问题描述 groovy脚本中(非类中)可以使用静态变量吗 如问题: 在一个groovy脚本中以下代码: static int a = 1; //现在这样是报错 // 业务逻辑 // xxxx a++: 我只希望a初始化一次,注意是在脚本中,不是在定义class中 换句话说,我是想在脚本groovy.lang.Script子类里放静态变量

php中的静态变量的基本用法_php技巧

静态变量只存在于函数作用域内,静态变量只存活在栈中.一般的函数内变量在函数结束后会释放,比如局部变量,但是静态变量却不会.下次再调用这个函数的时候,该变量的值会保留下来. 静态的变量的基本用法 1. 在类中定义静态变量 [访问修饰符] static $变量名; 2. 如何访问静态变量 如果在类中访问 有两种方法 self::$静态变量名 , 类名::$静态变量名 如果在类外访问: 有一种方法 类名::$静态变量名 例子 复制代码 代码如下: class Child{ public $name;

C#中static静态变量的用法

原文:C#中static静态变量的用法 使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员static修饰符可用于类.字段.方法.属性.运算符.事件和构造函数,但不能用于索引器.析构函数或类以外的类型   静态全局变量 定义:在全局变量前,加上关键字 static 该变量就被定义成为了一个静态全局变量. 特点: A.该变量在全局数据区分配内存. B.初始化:如果不显式初始化,那么将被隐式初始化为0.   静态局部变量 定义:在局部变量前加上static关键字时,就定义了静态局

static-objective中声明静态变量

问题描述 objective中声明静态变量 要做一个类似这样的类: public class test{public static final String tableName = ""asdfas""; public static final String id_Column = ""_id"";public static final String Z_ENT_Column = ""Z_ENT"