C# WCF中的交易

C# WCF中的交易,c#,wcf,C#,Wcf,我有一个windows服务调用两个不同的WCF服务,这两个服务执行两个不同的操作,需要在同一事务下,这意味着两者都必须通过或都必须失败 我在Windows服务中启动了一个事务,并故意使第二个WCF服务调用失败,但令我惊讶的是,操作没有回滚 我做错什么了吗 您的WCF服务操作应使用[TransactionFlow(TransactionFlowOption.Allowed)] WCF服务使用的绑定应支持事务。如;wcfHttpBinding 服务方法应该在事务中工作,即应该用 [操作行为(Tra

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

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

我做错什么了吗

  • 您的WCF服务操作应使用
    [TransactionFlow(TransactionFlowOption.Allowed)]
    
  • WCF服务使用的绑定应支持事务。如;wcfHttpBinding
  • 服务方法应该在事务中工作,即应该用
    
    [操作行为(TransactionScopeRequired=true)]
    

  • 是添加该属性所必需的,即使我们正在从clientYes传递事务,也需要指定它。您还应该添加以下内容:[OperationBehavior(TransactionScopeRequired=true]我已经通过basicHttp绑定公开了我的服务,它是否支持事务。不,不幸的是,它不支持事务。只有某些绑定支持事务,而且绝对不支持basicHttp绑定。您可能需要发布一些关于打开、提交和回滚事务的代码,因为没有这些代码,我们将无法帮助您。