资讯   |   开发   |   选机中心   |   产品大全 | IBM | 惠普 | 联想 | 戴尔 | 苹果 | 神舟
更多: | 华硕 | 明基 | 方正 | 紫光 | TCL | 夏新 | 联宝 | 宏碁 | 七喜 | 长城 | 清华同方 | 海尔 | 三星 | 东芝 | 索尼 | 富士通 | LG | 技术 | ddnoon
当前位置:笔记本 > 软件开发 >
Advertisement
文章正文

一个非常值得注意的问题

类型:转载   责任编辑:asp.net   日期:2007/05/23


热门软件下载:


   

public   static   DataView   dv;  
  这个通常使用来给程序中的datagrid作进一步操作(排序,分页等),及多个dataset共用一个datagrid.  
  但我们忽略了静态全局变量的特性,就是当多个权限不同的用户一起使用的时候,很有可能前一个用户使用到后面用户的dv,从而超越了权限.因为dv在内存中只有一个,所有用户都可以改变他(还认为全局静态可以为每个用户单独建立实体的朋友请用2台机器自己试试先),这个问题如何解决?请高手指点!

网友回答:

发表者:spland

我只是想知道为什么不用session?!

发表者:swzlxm

1.  
   
  ViewState["dv"]=dv;  
   
   
  2.  
  Session["dv"]=dv  
   
   
  3  
  Cache["dv"]=dv  
 

发表者:heiding

public   static   DataView   dv;   ——>   private   DataView   dv;    
                                                                    ViewState["dv"]   =   dv;

发表者:spland

Cache["dv"]=dv这个方法不能用,因为得到的结果和public   static   DataView   dv一样  
  Cache是针对所有用户的

发表者:jedliu

用Session当然可以了。  
  楼主第二个问题我有同感,我也考虑过,但到现在没有准确答案。我只能这样想:服务器控件是为了对编码者的动作做出回应,它要通过编码者来改变,为了不产生歧义,它只能有一个意思;至于其他的在做为全局变量时,效果差不多。


 

 
热门推荐笔记本: 新华海笔记本
相关文章:
笔记本相关:
IT技术文章:
webmaster:popbb@126.com   最佳浏览:1024X768 MSIE
©2007 popbb.net All Rights Reserved