首 页IT知识库翔宇问吧收藏本站
当前位置:翔宇亭IT乐园IT知识库WEBASP.NET

ADO.NET的事务模式

减小字体 增大字体 作者:俞伟明  来源:希赛网  发布时间:2010-05-10 08:57:00

分布式企业应用离不开事务。在数据访问代码中加入事务管理功能主要有两种方式:手动方式,自动方式。

在手动方式中,程序员负责编写所有配置、使用事务机制的代码。自动(或COM+)事务则在.net类中加入声明式属性,指定运行时对象的事务特性。自动方式方便了将多个组件配制成在同一个事务之内运行。两种事务方式都支持本地的或分布式的事务,但自动的事务方式极大地简化了分布式事务处理。

必须注意的是,事务是一种开销很大的操作,所以决定使用事务之前务必再三考虑。如果确实需要使用事务,那就要尽量缩小事务的粒度,减少对数据库的加锁时间、加锁范围。例如,对于SQL Server,单个的SQL语句不需要显式地声明事务,SQL Server会自动将每一个语句作为一个独立的事务运行。手动的本地事务总是比其他事务快得多,因为它不需要涉及DTC(Distributed Transaction Coordinator)。

手动事务、自动事务应当视为两种不同的、互斥的技术。如果要在单个数据库上执行事务性操作,优先考虑手动事务。当单个事务跨越多个远程数据库,或单个事务涉及多个资源管理器(例如,一个数据库和一个MSMQ资源管理器),优先考虑自动事务。不管怎样,应当极力避免混合运用两种事务模式。如果性能不是特别重要,即使只对一个数据库操作也可以考虑使用自动事务,使代码更加简洁(但速度略慢)。

总而言之,要提高数据库访问代码的质量,必须深入了解ADO.NET对象模型,根据实际情况灵活运用各种技巧。ADO.NET是一个公用的API,各种应用——不管是Windows窗体应用、ASP页面还是Web服务,都可以通过ADO.NET访问数据库;但是,ADO.NET不是一边接受输入、一边吐出结果的黑箱,而是一个由许多工具组成的工具箱。


本文源自:翔宇亭——IT乐园(http://www.biye5u.com),转载请保留此信息!

知识评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

用户名: 查看更多评论

分 值:100分 90分 80分 70分 60分 40分 20分

内 容:

请注意用语文明且合法,不要发布带有攻击性、侮辱性的言论,谢谢合作!

验证码:

关于本站 | 网站帮助 | 广告合作 | 网站声明 | 友情连接 | 网站地图 | 用户守则 | 联系我们
本站部分内容来自互联网,如有侵权,请来信告之,谢谢!
Copyright © 2007-2019 biye5u.com. All Rights Reserved.
网站备案号:黑ICP备13005378号-3