TransactionScope 的优点和缺点是什么?
C# 中 TransactionScope
类的优点和缺点是什么?
谢谢。
What are the good and bad points of the TransactionScope
class in C#?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
MSDN 的一些优点:
TransactionScope 优点
范围不仅是交易性的,
也是可以推广的。本次交易
从 LTM 开始并且
System.Transactions 会促进它
根据需要,根据性质
其与资源的相互作用
或远程对象。
应用程序对象模型——任何一部分
代码可以使用 TransactionScope 和
从而成为交易性的。有
不需要特殊的基类或
属性。
明确地与交易。任何
System.Transactions 资源管理器
将检测环境事务
由范围和创建
自动入伍。
甚至更多的编程模型
复杂的场景涉及
事务流和嵌套。
Some advantages from MSDN :
TransactionScope Benefits
scope is not only transactional, it
is also promotable. The transaction
starts with the LTM and
System.Transactions will promote it
as required, according to the nature
of its interaction with the resources
or remote objects.
application object model—any piece of
code can use the TransactionScope and
thus become transactional. There is
no need for special base class or
attributes.
explicitly with the transaction. Any
System.Transactions resource manager
will detect the ambient transaction
created by the scope and
automatically enlist.
programming model even for the more
complex scenarios that involve
transaction flow and nesting.
好的一面:
可以在数据库上下文之外进行事务。将记录插入数据库。将文件写入磁盘。
缺点:
需要在使用 TransactionScope 的客户端计算机上访问 MSDTC。
Good side:
Can do transactions beyond database context. Insert record into db. Write file to disk.
Bad side:
Requires MSDTC access on client machine, where TransactionScope is used.
只是为了补充/澄清 Incognito 提出的要点:
唯一“坏”的一面是您需要注意:
Just to add to / clarify the points Incognito makes:
The only 'bad' side is that you need to be aware that: