在程式中善用using自動釋放資源,而不需手動關閉
上次跟大家介紹在ASP.NET中如何引用Web.Config裡面的連線字串,大家可以看這篇文章:
ASP.NET 使用C#引用Web.Config的 connectionString教學
請大家先看完我的上一篇文章以後再來看我這篇文章,延續上一篇我所寫的程式,上次我在程式的最後面加上 cmd.Dispose()和conn.Close()來釋放資源,這個動作其實在C#中是可以自動化執行的,只要你使用using就可以了,在SqlConnection和SqlCommand做實例化的地方使用using,在程式執行完以後就會自動關閉釋放資源,上次資料庫的程式就改成像下面這樣:
string sql = @"Select * from Guestbooks"; //這裡輸入要執行的TSQL
using(SqlConnection conn = new SqlConnection(cnstr))
{
conn.Open();
using(SqlCommand cmd = new SqlCommand(sql, conn))
{
SqlDataReader dr = cmd.ExecuteReader();
.
.
.
}
cmd.Dispose();
conn.Close();
//在使用using之後,因為會自動釋放資源,所以原本手動關閉的這2行程式就不需要了
}
釋放資源這個動作要記得做,如果在自己電腦不做感覺沒有差別,但是你做一個公司的專案,如果養成這種結束後都不釋放資源的壞習慣的話,這樣子就會導致網頁速度變慢,資源都被佔用了,最好的方式就是習慣使用using,這樣子就不用擔心忘記關閉連接了。
留言列表