0

我有一个 Windows 服务调用两个不同的 WCF 服务,这两个服务都执行两个不同的操作,这两个操作需要在同一个事务下,这意味着两者都必须通过或都必须失败。

我在 Windows 服务中启动了一个事务,并故意使第二个 WCF 服务调用失败,但令我惊讶的是,这些操作并没有回滚。

我在这里做错什么了吗?

4

1 回答 1

1
  1. 您的 WCF 服务操作应使用注释[TransactionFlow(TransactionFlowOption.Allowed)]
  2. WCF 服务使用的绑定应该支持事务。例如; wcfHttpBinding
  3. 服务方法应该在事务中工作,即它应该用 [OperationBehavior(TransactionScopeRequired=true)]
于 2013-05-23T11:50:52.100 回答