【发布时间】:2012-09-10 16:17:28
【问题描述】:
这是大图:
在我们新的基于 SOA 的信息系统中,我们需要构建几个 WCF 服务。这些服务的主要目标是处理业务交易。
让我们举个例子: 用户在网站(或移动应用程序)上下订单,客户端应用程序将调用 WCF 服务(我们称之为 Order Process Manager),该服务将编排所有业务事务。 OPM 会以某种方式开始一个事务,以确保如果子进程失败,所有事务都会回滚。
关键是 OPM 可能必须调用其他服务,例如用户帐户服务、库存管理服务等等……这些服务可能是现有服务(我们无法修改),它们调用提交和回滚自己的存储过程交易。另一种可能性是那些其他服务可能构建在实体框架之上,有自己的方式来处理事务(使用工作单元、事务范围、存储库和其他东西......)
我的想法是,它不会像在 OPM 中使用事务范围那么简单,而且它会在决定回滚所有事情时发挥所有作用。
如果有人已经遇到过这些问题,我会全力以赴!
环境规范为:
- .Net 4.0 / C#
- WCF
- SQL Server 2008R2
非常感谢大家。
弗莱迪。
【问题讨论】:
-
你可以尝试改变你的 DBA 团队!
标签: wcf entity-framework stored-procedures transactions transactionscope