DataSet read;read = bll.get_dataset_withpage_oforder("Store_account", "accountid", pageno, pagesize, "*", orde, where);//获取dataset对象
datalist.DataSource = read;
datalist.DataBind();read = null;我想问一下写程序的时候写read=null还用写 read.Dispose();么是不是 read.Dispose();方法在page_unload里会自动销毁对象?
请高手指点一下谢谢了
datalist.DataSource = read;
datalist.DataBind();read = null;我想问一下写程序的时候写read=null还用写 read.Dispose();么是不是 read.Dispose();方法在page_unload里会自动销毁对象?
请高手指点一下谢谢了
解决方案 »
- Textbox文本框自动求和的问题
- TreeView控件 在IE7 IE8 上浏览时子节点不可展开
- asp.net网站 重写网页url??
- 初学Datalist控件如何绑定数据,报没有找到Table控件的错误
- 关于 gridview的一些问题?
- 在线等,虚心求教我重写URL为什么不能成功,为什么???
- 怎么用正则表达式得到一个字符串以后的全部字符?
- 请问按下ID="baochun_IButton"这个按钮后得到对应的项里的TextBox的Text值,这个按钮的oncommand事件里的代码怎么写
- C#中怎样进行忽略大小写的替换?
- ascx用户控件参数传递问题
- 请问一个小问题,大家帮个忙,
- 弱智问题
read.Dispose();这个也不用写.
如果read是datatable类型的。。可以read.dispose(); read=null;
能问一下是怎么个自动回收机制么?
如果只是=null的话,实际上数据将被放到垃圾管理器(GC)里
而用Dispose方法会调用GC将对象所占用的内存立刻释放掉
(Dispose的动作本身也相当耗费资源)。
所以你调用Dispose时,你的程序可能会出现明显的迟缓现象。另外强制垃圾回收用 GC.Collect()方法
下面文章可以作为参考
------------------------------------------------
.NET Framework 开发人员指南
实现 Dispose 方法类型的 Dispose 方法应释放它拥有的所有资源。它还应该通过调用其父类型的 Dispose 方法释放其基类型拥有的所有资源。该父类型的 Dispose 方法应该释放它拥有的所有资源并同样也调用其父类型的 Dispose 方法,从而在整个基类型层次结构中传播此模式。若要确保始终正确地清理资源,Dispose 方法应该可以被多次调用而不引发任何异常
------------------------------------------------
如果变量一直在使用,就会把这个变量放入2级内存;对2级内存空间 和3级内存空间的操作是一样的道理;
read = null;只是将read对象置为null;但是并没有释放掉托管堆中的内存;也就是说read只是丢掉了句柄而已;
{
read.Dispose();
}
read = null这个不用写.
read.Dispose();这个也不用写.
,要写可以显示的指定垃圾回收机制进行回收。
不过注意,不能先写
read=null;
然后再写read.Dispose();好像会出错。具体情况有点忘记了。是一个项目中发现sqlconnection=null 和
sqlconnection.disopse()发现的
Garbage Collection: Automatic Memory Management in the Microsoft .NET Framework
by Jeffrey Richter
文章分两部分.google一下就有.
谢谢.