我在哪里设置交易协议?

时间:2016-11-29 11:15:28

标签: web-services wcf transactions

我已经使用事务流建立了一个示例WCF服务 - 它构建并且就调试客户端而言似乎正在运行。

我知道,从.NET Framework 4开始,Windows Communication Foundation中有两种不同的事务协议:

  • OLETransactions Protocol
  • WS-AtomicTransaction Protocol

但是,我不知道如何配置我的服务以使用其中任何一个,以及我的服务默认使用哪个协议。那么 - 我该怎么做?

强制性"显示您的工作" 部分帖子

According to MSDN,我应该在绑定级别设置它,但是<binding>元素

<bindings>
  <wsHttpBinding>
    <binding name="transactionBinding" transactionFlow="true" />
  </wsHttpBinding>
</bindings>

似乎没有任何与协议相关的属性。

我还搜索了与[ServiceContract][OperationContract]一起使用的相关注释,但我也找不到任何注释。

我在Googling的所有尝试都给了我MSDN我已经阅读过并且大量的复制粘贴编程教程互相嘲讽,所有人都在谈论如何有两个协议,而没有提及如何实际设置它们。

我怀疑使用<wsHttpBinding>我使用的是WS-Atomic,但a relevant MSDN page中没有提到WS-Atomic。即使结果证明是真的,我仍然不知道如何切换到OLE。

0 个答案:

没有答案