ADO.NET数据访问模式

       Microsoft搞出了一个新的名词,连接模式和断开模式,断开模式这种内存中的DataSet方式似乎老早就有了,Delphi的ClientDataSet似乎就是这么一个结构。还是没有看出来在.Net中有什么创新的地方。而且ADO本身就带有这么一个客户端断开式的数据集对象RecordSet.“DataSet可管理多个数据集及相互间的关系”这个功能似乎RecordSet也有。不过对于老版本的RecordSet还是不是非常的熟悉,因为我用的是Delphi的ADO控件,也没有用到这个功能,所以不方便随便评论。
      其实我关心的问题是:在用ASP.Net开发Web程序的时候,Connection是否还是需要象在传统的C/S结构中使用单件模式创建一个共享的Connection,还是象在每一个页面都创建自己的Connection.
      在于C/S结构,连接模式还是一个不错的模式,在B/S结构,或者分布式的环境中,还是使用断开模式比较好。一方面是扩展性比较好,另外一个方面是效率会比较高,相对于采用连接模式来说。
      ADO.NET框架本身还提供了对于连接池的支持。我想挖掘连接池的底层支持到底是一个什么样的机制,没有找到,看样子不是用的MTS.而是另外搞了一套东西。
    以下是Connection事务的使用方法:
  ADO.NET还提供了分布式事务的支持,所谓分布式事务就是一个事务中需要涉及到多个数据库实例或多个数据库的情况。COM+ 1.0(类似原来的MTS)来对这种功能提供支持。接口在System.EnterpriseServices中声明。
另外一种方法是把Client声明为ServicedComponent类的子类。以纳入COM+的管理范围。这个类需要注册后才可以使用。
     

你可能感兴趣的:(.net)