不被重视的基础,高效地使用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中。

 

 

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