不被重視的基礎,高效地使用ADO.net連接對象

很多初學者朋友在做項目時遇到過這樣的問題,那就是在本地調試運行的程序正常,放到服務器上也是正常的,但是如果有了一些併發之後,就會發現頁面會出現打不開的現像,其實大多數時候是因爲Ado.net鏈接沒有處理完善。當然對於老鳥來說這種情況是不會發生的。

其實避免出現這種情況和提高Connection對象的使用性能的方式很簡單,我們這裏列出兩種方式供初學者或遇到過這種問題的朋友選擇:

1.使用try-catch-finally語句塊:

  1. SqlConnection conn = new SqlConnection("鏈接字符串"); 
  2. try 
  3.     conn.Open();//打開數據庫鏈接 
  4.      
  5.     //添寫針對鏈接對象所做的一些操作 
  6. catch (SqlException err) 
  7.     //這裏可以將錯誤信息寫入日誌 
  8. finally 
  9.     conn.Close();//在完成conn對象的操作後需要關閉鏈接 

    這麼做的原因是,雖然.NET框架中有垃圾回收機制,但是我們爲了能確保資源的有效利用,所以需要儘早的釋放到資源,以保證其能被有效的利用起來。同時,我們也不建議大家直接在操作完成後使用conn.Close()方法,因爲這樣的話,如果在本次操作出現錯誤後,conn將不再繼續往下執行,那麼意味着鏈接就不會關閉,其結果是你第二次操作時,將來提示鏈接沒有被關閉。

2.也可使用using語句塊:

  1. using (SqlConnection conn = new SqlConnection("鏈接字符串")) 
  2.     conn.Open(); 
  3.     //添寫針對鏈接對象所做的一些操作 

    有興趣的朋友,可以去研究一下using關健字在C#中的各種用法,那麼在這裏using所起到的作用是不論如何退出語句塊,都會釋放到conn對象的資源。

    當然,我的建議是大家可以結合起來使用,因爲using對象可以確保資源的釋放,而try語句塊可以讓我們抓取異常,並且寫到Log中。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章