请问下在asp.net中我想定义一个全局变量,而且我想可以在任意页面修改这个全局变量。 请问下大神有方法
我知道有1、使用Application对象变量2、使用Session变量3、使用Cookie对象变量。我想最好使用类的形式可以吗?...
我知道有1、使用Application 对象变量2、使用Session变量3、使用Cookie对象变量。
我想最好使用类的形式可以吗? 展开
我想最好使用类的形式可以吗? 展开
1个回答
展开全部
先要确定这个全局变量是所有用户共享的,还是单用户独占的。
若这个变量是所有用户共享的,使用Application对象,在修改前使用 Application.Lock();修改完成后使用Application.Unlock();
若这个变量是单用户独占的,使用Session就行
Cookie 一般是保存在用户浏览器的信息,效率上会比Session低很多
若这个变量是所有用户共享的,使用Application对象,在修改前使用 Application.Lock();修改完成后使用Application.Unlock();
若这个变量是单用户独占的,使用Session就行
Cookie 一般是保存在用户浏览器的信息,效率上会比Session低很多
追问
回答的比较完美,提一个比较小白的问题,我想定义一个class专门去处理全部的全局变量,而不使用Application,Session,Cookie,也许我这种假设本来就是错误的,能否帮忙解惑下,感谢!
追答
使用 static的变量也行,那个处理用的class注意一下多线程的同步问题就行,static 的全局变量是所有用户共享的,所以有多线程的同步处理用的class处理这种全局的时候采用如下方式
lock(value){//value就是那个static的全局变量
//这里写处理过程
}
但是不推荐这种方法用在ASP.NET上
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询