2014年2月17日 星期一

Using、Dispose、Close、Connection Pooling...之間的恩怨情仇

參考文章-1
參考文章-2
參考文章-3
參考文章-4

做資料庫專題時,Connection物件實在讓我頭大,到底要用哪個方式結束資料庫連線呢?

首先來看:

Close
關閉了連線,連線字串還在屬性裡,連線資訊被丟進Connection Pooling,
若此物件不為區域變數的話不會被GC回收。

Dispose、Using
其實是做一樣的事情,語法稍有不同而已,
執行了Close,並將連線字串清除,連線資訊被丟進Connection Pooling,
但物件本體也不指向Null,所以...可能會被回收吧?

Null
如果把物件明確地指向Null,下次垃圾車來的時候一定會被回收。

嗯...所以說如果頻繁使用的話,Close可能會是比較好的選擇,
Dispose、Using,會不斷的創建、銷毀物件,
若是很急切的想釋放記憶體,那就指向Null吧!

沒有留言:

張貼留言