您的位置:程序门 -> .net技术 -> web services



asp.net中close()与dispose()是什么


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


asp.net中close()与dispose()是什么
发表于:2007-07-03 16:14:24 楼主
是不是关闭close()之后dispose()自动清空啊,
发表于:2007-07-03 16:19:121楼 得分:0
close() 关闭
dispose() 销毁

close()之后一般不需要销毁的.连接被回收到缓冲池,以便下次使用.
发表于:2007-07-03 16:34:412楼 得分:0
楼上正解
发表于:2007-07-03 16:44:513楼 得分:0
如果销毁了的话,重新打开数据库,会提示,connectionstring   属性尚未初始化。   是什么原因
发表于:2007-07-04 11:22:324楼 得分:0
如果dispose以后再调用该对象的方法会抛出objectdisposedexception   异常
如果出现楼上的异常的话,应该是一个新的对象
发表于:2007-07-04 11:24:325楼 得分:0
连接对象没有指定连接字符串
发表于:2007-07-04 13:54:106楼 得分:0
dispose   是   idispose接口的实现方法。
ado中许多对象都继承了idispose接口,所以他们都有dispose方法。
但是类似“数据库连接”这些对象,他们在close方法内部其实已经调用了dispose方法。这个可以通过reflector查看。
有些ado对象虽然继承自idispose方法,但是我们在vs中却看不到dispose方法,这是因为他们实现接口的时候用了“显式实现”,因为既然有了close方法,dispose方法就显得有点多余了,所以把dispose方法藏起来了。
显示接口的实现请参考相关内容。
发表于:2007-07-04 16:03:307楼 得分:0
连接类close以后没有调用dispose,就象上面说的放回了池中
但是很多类close是和dispose作用是   一样的
发表于:2007-07-04 17:03:158楼 得分:0
通常有close的,都不必明确的调用dispose。
发表于:2007-07-09 10:32:429楼 得分:0
try
{
    mysqlconnection   conn   =   new   mysqlconnection   (connstring);
    conn.open();
}
catch
{
    return;
}
finnaly
{
if   (conn!=null)
{
    conn.close();   //关闭
    conn.dispose();//释放
}
}
发表于:2007-07-09 13:56:2210楼 得分:0
楼上回答很清楚了gc


快速检索

最新资讯
热门点击