首页 新闻 会员 周边 捐助

C#关于全局静态变量与属性

0
悬赏园豆:20 [已解决问题] 解决于 2015-07-30 08:35

在类里面 是用全局静态变量好 还是定义成属性好。还是非静态好。如果我想导出一个DataTable,每次点击查询时候都会赋值,用什么好。非静态变量的生命周期是多少。aspx是不是每刷新一次,页面类就实例化一次。

zklve2的主页 zklve2 | 初学一级 | 园豆:3
提问于:2015-07-27 18:08
< >
分享
最佳答案
1

非静态是你最佳选择。摒弃CS那一套固有的开发模式,因为每一个web请求都有自己独立的上下文和生命周期,静态共享的东西越少越好,因为静态变量意味着在请求中“共享”数据,意味着在多线程下容易造成数据错误。为了保证数据线程安全不会造成业务数据错误,可能在操作静态变量的地方还不得不加锁。

收获园豆:20
JeffWong | 老鸟四级 |园豆:2328 | 2015-07-27 18:15
其他回答(2)
1

当然是你需要什么样的就用什么样的。

会问这种问题有2个原因

1.你不知道你自己要做什么

2.你不知道你要用的东西是什么

吴瑞祥 | 园豆:29449 (高人七级) | 2015-07-27 18:11
0

从你现在的情况来看,要用非静态的,不然你这种导数据会出错。可能你导到别人的数据,别人导出了你的数据。

gw2010 | 园豆:1487 (小虾三级) | 2015-07-29 16:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册