DataSet存在于服务器内存中,如果一个用户请求了一个表,就在内存中产生了一个DataSet,如果同时另一个用户也请求该表,那么,他使用的是已经存在的DataSet,还是服务器另产生一个DataSet(此时两个DataSet)?
请高手说说,谢谢!

解决方案 »

  1.   

    分别那两个人的httpcontext中,嗯,好像是这样子
      

  2.   

    不同的用户使用的不同的线程,
    这两个DataSet如果不是放在Cache或Application中的,应该是不相干的
      

  3.   

    书上说把DataSet保存在Cache中提高效率,应该指的是这个吧?
      

  4.   

    如果dataset不是Static的
    应该是两个吧?
      

  5.   

    如果足够多的人同时访问,那服务器的内存中充满了各式各样的DataSet,那还不把服务器撑爆啊??
      

  6.   

    应该放到Cache中提高效率如果人更多 也只能会影响了 什么东西都有限度就算Oracle 它有限度啊
     超过一定访问人数 照样不行啊
      

  7.   

    这个就是服务器的事了
    它有一定的自动缓存功能,如果内存不够了
    就把最先帮你自动缓存的东西释释放一些,这样整体性能会很不错当然你要缓存的东西最好自己动手缓存,一般放在viewstate中不错
      

  8.   

    并不是任何访问/操作数据库基本表的行为都将产生DataSet,任何DataSet的产生都是你的代码控制的
    如果你的代码中根本没有 DataSet ds = new DataSet("myds") 之类的代码,(或者函数的return value 是DataSet);
    不管你怎样操作你的数据库 都没有DataSet在内存中,因为你没有创建这种对象。
      

  9.   

    ado.net自然会处理的了,不用担心,不过.net 程序需要内存大是路人皆知的了
      

  10.   

    这才是经典:  :)
    -------------------
     vinge(大志)  
       如果足够多的人同时访问,那服务器的内存中充满了各式各样的DataSet,那还不把服务器撑爆啊??
      
     
      

  11.   

    大哥们:动态生成TextBox后,给textbox输入数据,然后怎么将数据显示在控件如:textarea1里呢?  谢谢
      

  12.   

    是两个
    不过可以在程序中控制
    比如不太变动的商品列表等,可以吧产生的DataSet放在cache中,使用时可以先检查cache中是否有该DataSet,如果有直接用这个,如果没有再产生新的,此时就可以加入cache中,可以节约服务器资源。