您好,登錄后才能下訂單哦!
很多初學者朋友在做項目時遇到過這樣的問題,那就是在本地調(diào)試運行的程序正常,放到服務器上也是正常的,但是如果有了一些并發(fā)之后,就會發(fā)現(xiàn)頁面會出現(xiàn)打不開的現(xiàn)像,其實大多數(shù)時候是因為Ado.net鏈接沒有處理完善。當然對于老鳥來說這種情況是不會發(fā)生的。
其實避免出現(xiàn)這種情況和提高Connection對象的使用性能的方式很簡單,我們這里列出兩種方式供初學者或遇到過這種問題的朋友選擇:
1.使用try-catch-finally語句塊:
- SqlConnection conn = new SqlConnection("鏈接字符串");
- try
- {
- conn.Open();//打開數(shù)據(jù)庫鏈接
- //添寫針對鏈接對象所做的一些操作
- }
- catch (SqlException err)
- {
- //這里可以將錯誤信息寫入日志
- }
- finally
- {
- conn.Close();//在完成conn對象的操作后需要關閉鏈接
- }
這么做的原因是,雖然.NET框架中有垃圾回收機制,但是我們?yōu)榱四艽_保資源的有效利用,所以需要盡早的釋放到資源,以保證其能被有效的利用起來。同時,我們也不建議大家直接在操作完成后使用conn.Close()方法,因為這樣的話,如果在本次操作出現(xiàn)錯誤后,conn將不再繼續(xù)往下執(zhí)行,那么意味著鏈接就不會關閉,其結果是你第二次操作時,將來提示鏈接沒有被關閉。
2.也可使用using語句塊:
- using (SqlConnection conn = new SqlConnection("鏈接字符串"))
- {
- conn.Open();
- //添寫針對鏈接對象所做的一些操作
- }
有興趣的朋友,可以去研究一下using關健字在C#中的各種用法,那么在這里using所起到的作用是不論如何退出語句塊,都會釋放到conn對象的資源。
當然,我的建議是大家可以結合起來使用,因為using對象可以確保資源的釋放,而try語句塊可以讓我們抓取異常,并且寫到Log中。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。