刚才跟几个群里的朋友讨论Dataset到底是以xml形式存在服务端还是存在客户端,有人说在服务端,有人说在客户端.我在网上找到了一篇文章
浅谈ADO.net技术中的DataSet工作原理(http://blog.sina.com.cn/s/blog_4b3c8902010005t5.html),这里说
...首先,我们打开数据库,把我们要处理到的数据库下载到本地计算机中的内存中,这样我们就在本地建地了一块内存,用来专门存储数据库,这样我们不但可以在我们自己的内存中把从服务器中下载下来的数据库存下来...这个意思是说:dataset下载到了本地内存中.那意思就是说dataset是在客户端的内存中运行了.然而我测试了一下.打开一个用dataet提供分页的网页.有5页,当前是第一页,断开网(禁止网络连接)再去打开第2页的时候就报错显示不了页面,也就是无法从客户端打开第2页,既然dataset是保存在客户端的怎么又会打不开呢?兄弟们来讨论一下吧!
浅谈ADO.net技术中的DataSet工作原理(http://blog.sina.com.cn/s/blog_4b3c8902010005t5.html),这里说
...首先,我们打开数据库,把我们要处理到的数据库下载到本地计算机中的内存中,这样我们就在本地建地了一块内存,用来专门存储数据库,这样我们不但可以在我们自己的内存中把从服务器中下载下来的数据库存下来...这个意思是说:dataset下载到了本地内存中.那意思就是说dataset是在客户端的内存中运行了.然而我测试了一下.打开一个用dataet提供分页的网页.有5页,当前是第一页,断开网(禁止网络连接)再去打开第2页的时候就报错显示不了页面,也就是无法从客户端打开第2页,既然dataset是保存在客户端的怎么又会打不开呢?兄弟们来讨论一下吧!
-------------------------------------------------------------
而这些服务器端控件通过运行加载在服务器端,然后服务端将IE浏览器识别的代码通过HTTP协议发送到客户端(客户机),最终呈现出加载后的网页.
--------------------------------------------------------------
楼主要先把一些原理搞清楚.
楼主的测试已经说明了问题.dataset是把服务器端数据库中的数据读入服务器端的内存中的.因此当数据库过大时,服务器端的内存消耗是很大的.所以一般不用的时候就要马上dispose掉它.