扫除ADO.NET的混乱,确保应用程序的高性能

ZDNet软件频道 时间:2003-05-22 作者:BUILDER.COM |  我要评论()
本文关键词:
尽管已经有很多的材料在描述ADO.NET让访问各种数据源的数据变得有多容易,但是还是有一些东西值得你的注意,以维护应用程序的高性能。
本文译自Builder.com,未经许可请勿转载尽管已经有很多的材料在描述ADO.NET让访问各种数据源的数据变得有多容易,但是还是有一些东西值得你的注意,以维护应用程序的高性能。其中一点是正确中断并清除ADO.NET的对象,用以确保被它们占用的资源得到了及时的释放。

垃圾清理

.NET框架继Java之后,将开发人员从追踪内存的使用和了解何时释放内存的辛劳中解脱出来。这一特性叫做垃圾垃圾清理。虽然垃圾清理给予你很多急需的自由,但是它并不能完全取代你对应用程序所消耗的资源的管理。

例如,垃圾清理器对存里的真实对象一无所知,而且有时并不能够完全感知如何正确地释放对象所占用的资源。要正确地进行垃圾清理工作,你就必须编写代码来清除和释放你所使用的任何资源。这一过程要使用CloseDisposeFinalize这样的方法来完成。现在让我们来更加仔细地看看如何对ADO.NET的对象使用这些方法。

和数据库通信

在本文所用的示例代码里,我用到了SQL服务器和VB.NET。因此,我使用了System.Data.SqlClient命名空间里专门用于SQL服务器的对象,但是相同的概念还可以应用于其它ADO.NET数据提供器。在访问SQL服务器数据的时候,你要用到的最常见类有:

  • SqlCommand
  • SqlConnection
  • SqlDataAdapter
  • SqlDataReader
  • SqlParameter


Listing A里的VB.NET代码建立了一个与SQL服务器里Northwind数据库的连接。它通过客户(Customers)表格来访问姓名的列表。

在Listing A里,如果查询返回了数据,那就说明我已经建立了数据库的连接并能够从客户表格里读取数据。在读取完数据之后,就不再需要数据库的连接和其他对象了,这时这些对象所占用的资源就应被释放,而且最重要的是:应该断开数据库的连接。数据库连接的数量常常要根据数据库平台的安装情况来严格限制,所以保证数据库的连接被及时关闭就是极其重要的。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134