7

是否有可能跨多个系统进行交易?

例如:

第 1 层 - 公开 Web 服务(部署到 weblogic) 第 2 层 - .NET 前端(部署到 IIS)

我们可以对从 .NET 发起的多个 Web 服务调用进行事务提交或回滚吗?

如果是这样,有人可以指出我的任何资源或文件吗?每一层合规性参与交易有什么特殊要求吗?

4

3 回答 3

1

对的,这是可能的。WCF 允许使用使用WS-Atomic Transaction标准的 Web 服务,假设您System.Transactions.TransactionScope在 .NET 客户端中可用(例如,Silverlight 没有此功能)。

CodeProject 上有一个很好的例子,展示了如何在 .NET 中使用 .NET 生成和使用事务 Web 服务TransactionScope

于 2011-08-21T21:24:37.707 回答
0

TransactionScope如果在您的场景中可用,casperOne 的提及是一个很好的解决方案。我爱上了它带来的简单和力量。

但是,我注意到您有一个 Java 标记并提到 Weblogic 作为 Web 服务层,因此该TransactionScopeRequired属性必须通过 WS-AT(Web 服务原子事务)或类似的转录协议来实现。

请参阅此处: http: //publib.boulder.ibm.com/infocenter/wsdoc400/v6r0/index.jsp ?topic=/com.ibm.websphere.iseries.doc/info/ae/ae/cjta_wstran.html

于 2011-08-30T18:16:00.067 回答
0

这绝对是可能的,但可能比你想象的更难。您需要控制来修改这些 Web 服务的执行环境以增强它们,以便它们可以使用 WS-AT 标头。此外,与任何分布式事务环境一样,由于大量的管理开销,您可能会提高性能。

SOA-WORLD 有一些很棒的文章来解释 Web 服务事务和所有相关的 OASIS 标准。这是关于WS-Coordination的一个,如果我能找到其余的,我会添加它们。

于 2011-08-30T19:37:37.873 回答