请问下在asp.net中我想定义一个全局变量,而且我想可以在任意页面修改这个全局变量。 请问下大神有方法

我知道有1、使用Application对象变量2、使用Session变量3、使用Cookie对象变量。我想最好使用类的形式可以吗?... 我知道有1、使用Application 对象变量2、使用Session变量3、使用Cookie对象变量。

我想最好使用类的形式可以吗?
展开
 我来答
alsjzhao
推荐于2016-10-13 · TA获得超过252个赞
知道小有建树答主
回答量:266
采纳率:0%
帮助的人:169万
展开全部
先要确定这个全局变量是所有用户共享的,还是单用户独占的。
若这个变量是所有用户共享的,使用Application对象,在修改前使用 Application.Lock();修改完成后使用Application.Unlock();
若这个变量是单用户独占的,使用Session就行
Cookie 一般是保存在用户浏览器的信息,效率上会比Session低很多
追问
回答的比较完美,提一个比较小白的问题,我想定义一个class专门去处理全部的全局变量,而不使用Application,Session,Cookie,也许我这种假设本来就是错误的,能否帮忙解惑下,感谢!
追答

使用 static的变量也行,那个处理用的class注意一下多线程的同步问题就行,static 的全局变量是所有用户共享的,所以有多线程的同步处理用的class处理这种全局的时候采用如下方式

lock(value){//value就是那个static的全局变量
//这里写处理过程
}

但是不推荐这种方法用在ASP.NET上

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式