不是说 连接数据库使用了 非托管资源,那么我们在关闭数据库Conn.Close() 是不是还要加一个 Conn.Dispose().
6 个解决方案
#1
关注
#2
关注
#3
不需要。
Close是逻辑的,并代表要释放这个connection对象,他仅仅是切断与数据源的连接。dispose做的事情就过多了,他主要是针对内存模型释放一些资源。
尽管.net的书上总是说GC会造成对象资源被“延迟”释放。实际上,GC的清理还是非常频繁地发生的,所以一般来说不需要写dispose。
可见,close比dispose要快而且保险。
Close是逻辑的,并代表要释放这个connection对象,他仅仅是切断与数据源的连接。dispose做的事情就过多了,他主要是针对内存模型释放一些资源。
尽管.net的书上总是说GC会造成对象资源被“延迟”释放。实际上,GC的清理还是非常频繁地发生的,所以一般来说不需要写dispose。
可见,close比dispose要快而且保险。
#4
上面丢了一个字:
并“不”代表要释放这个connection对象
并“不”代表要释放这个connection对象
#5
学习!!!以前好象看过,所以我一直都只是close
#6
用close就好,dispose可让系统为你作
#1
关注
#2
关注
#3
不需要。
Close是逻辑的,并代表要释放这个connection对象,他仅仅是切断与数据源的连接。dispose做的事情就过多了,他主要是针对内存模型释放一些资源。
尽管.net的书上总是说GC会造成对象资源被“延迟”释放。实际上,GC的清理还是非常频繁地发生的,所以一般来说不需要写dispose。
可见,close比dispose要快而且保险。
Close是逻辑的,并代表要释放这个connection对象,他仅仅是切断与数据源的连接。dispose做的事情就过多了,他主要是针对内存模型释放一些资源。
尽管.net的书上总是说GC会造成对象资源被“延迟”释放。实际上,GC的清理还是非常频繁地发生的,所以一般来说不需要写dispose。
可见,close比dispose要快而且保险。
#4
上面丢了一个字:
并“不”代表要释放这个connection对象
并“不”代表要释放这个connection对象
#5
学习!!!以前好象看过,所以我一直都只是close
#6
用close就好,dispose可让系统为你作