我知道这是一个复杂的WCF配置问题,但这是一个高级问题:
WCF是否支持没有SSL的Internet上的事务?
我们所有的服务方法都使用TransactionFlow
属性进行修饰,例如:
[TransactionFlow(TransactionFlowOption.Mandatory)]
这会强制调用者提供事务上下文。这对我们的Intranet工作正常,但是在通过Internet调用时存在问题。
通过Internet调用服务方法时我们收到的错误是:
流动的交易不可能 取消封送。以下例外 发生:MSDTC交易 经理的WS-AtomicTransaction 协议服务'Version10'是 残疾人,不能解散传入 交易。“
答案 0 :(得分:2)
回答您的基本问题:是的,您必须启用SSL。
您尚未提出但尚未提出的一个问题是如何在MSDTC中启用WS-AtomicTransaction支持,您将在此处找到该信息:http://msdn.microsoft.com/en-us/library/ms733943.aspx
本文介绍了WS-AT的要求以及如何设置它。此外,勇敢使用WS-AT。如果您通过互联网进行交易,则可以采用这种方式,特别是如果您希望符合标准。
答案 1 :(得分:1)
最好阅读本文并理解分布式事务背后的概念
http://fukyo-it.blogspot.co.uk/2012/02/truly-understanding-net-transactions.html