当然时在服务器端,如果不是static 变量,每个用户一个,但是.net 有垃圾回收的,且asp.net 是无状态的,所以你不用操心,用户访问后,会自动被回收的

解决方案 »

  1.   

    楼上的哥哥,如果我把数据库搬到dataset中,假如数据库大小20M(还算比较小的数据库),我有10万个用户同时在线,那么服务器内存一定不够用啊。这个问题我不知道是怎么解释阿...
      

  2.   

    asp.net 的变量都是用完就销毁的。你不信就定义一个静态全局变量,在A页面赋值,在B页面显示。
      

  3.   

    在服务器端
    的确占用很大的内存,建议用DataTable
    不到万不得已,最好不要用它,如果是数据量大的
    不过它有个好处,就是底层和数据库链接是离线状态操作的,读入数据后,它自己就是内存里的虚拟数据库,不用和数据库一直相链接
    楼主担心多人在线时会让机子死是吧?其实你用它,是暂时保存数据罢了,你说的多客户在线,如果用到它,它都是在服务器里处理的,处理完后,把所有数据都向IE客户端吐出来(用户看到网页打开),它自己也该退休了,就算不想退休,但如果下一位客户用到它,而这时内存又不足,那.NET里的回收机制就会出来执行它的工作了!强迫已完成工作,但却想一直占用资源的进程关闭和注销.
    当然,其底层咋样运行,那应该是操作系统的算法了吧,如果真的想弄明白它的原理,.NET开发文档应该有说明就像MS SQL 的DBMS ,它能在多人链接其管理的数据库时,有很好的机制来控制同时几个链接有效,如果冲突时,又....
      

  4.   

    dataset 绝对是在服务器端运行的,首先客户端并没有触发dataset的相应API函数,服务器从数据库取得数据存放到dataset使用完以后,dataset就由.net的垃圾回收机制回收,不过回收的时间不确定,但可以肯定的是有一个新的需求而且又没有多余的内存空间的话,绝对会回收dataset从新分配的。