请高手来答我的弱智问题 已经释放了为什么还是false我也想知道 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 同意楼上Conn.Dispose()语句已经释放了 那是啥意思?我就担心这个Conn对象会把内存耗尽而导致网站速度很慢 whycom whycom 等 级: 发表于:2007-10-17 19:03:526楼 得分:0 dispose 只是为了释放托管类中的非托管资源,并不是释放托管本身 那么Conn对象怎么样才能释放并销毁掉呢?由垃圾处理器来释放? 晕...那还要Dispose 干嘛?实在有点费解,Conn是不是托管资源呢?Conn.Dispose之后这个Conn对象还占不占内存?如果不占内存了,那Conn对象放在哪里啊? 你的Conn.Dispose()有点儿多余,没起什么作用,本来就是托管,你没必要去考虑其资源释放。至于Dispose()方法的作用,个人认为,在一些特殊情况下才能用到,一般情况没必要。反正我从来没用过。 close不就行了吗在finally里为什么非要释放呢 我是因为做过一个网站,速度特别慢,尤其是访问人数一多就很慢很慢,才怀疑是不是因为Conn对象太多没释放导致的?我现在理解是不是Dispose()之后,就会"唤醒"垃圾回收来回收对象,而当时Response(Conn==null)的结果因为垃圾回收还没启动或是我们不知道何时启动,才是False? 托管程序不需要管理资源释放。C#的析构函数也是摆设。为什么网站的Conn对像会太多?难道你设计的网站为每个Session建一个Conn?不是整个网站用一个Conn吗?ASP.NET里面用无连接的数据处理方法写程序速度会快很多.多用存储过程吧. 我现在理解是不是Dispose()之后,就会"唤醒"垃圾回收来回收对象-------要<"唤醒"垃圾回收来回收对象> 需要强制调用垃圾回收GC.Collect(); Dispose只是释放conn所引用的资源,如ConnectionString等等而conn还是指向堆中那块内存区的,只是那块区域没有内容而已,所以conn不为null等到出了这段程序以后,conn为null,垃圾回收器才会将conn所引用的那块内存回收个人理解 学到东西了,我可能做ASP太久了,变成了定性思维,写一个方法就在一个方法里建立一次并且DISPOSE一次CONN对象....至于怎么"一个网站里只用一个Conn",我还真不会? 我的理解是不是暂时没释放掉引用,也不知道G.C什么时候回收垃圾,所以立即结果是FALSE 未找到编译器可执行文件 csc.exe 存储过程参数类型怎么转换?? asp.net執行exe文件只能在進程中有顯示,但是無法顯示窗口?? 为什么ListBox取值总是第一个 ?? 如何在两个页面之间快速的传递信息 刚学NET,很入门的问题 错误 8元素“listitem”不是已知元素。原因可能是网站中存在编译错误。 【散分速度只秒第一】 这个怎么实现? 请教微软专机:WEB FORM下的打印问题(就是ASP.NET下) 急!!!苍天啊!!!大地啊!!DataTable怎么执行group by 啊 !!!! 自定义login,子控件问题
Conn.Dispose()语句已经释放了
whycom
等 级:
发表于:2007-10-17 19:03:526楼 得分:0
dispose 只是为了释放托管类中的非托管资源,并不是释放托管本身
那么Conn对象怎么样才能释放并销毁掉呢?由垃圾处理器来释放?
为什么非要释放呢
-------
要<"唤醒"垃圾回收来回收对象> 需要强制调用垃圾回收GC.Collect();
而conn还是指向堆中那块内存区的,只是那块区域没有内容而已,所以conn不为null
等到出了这段程序以后,conn为null,垃圾回收器才会将conn所引用的那块内存回收
个人理解