您是否需要为WS-AT打开客户端防火墙才能使用WCF?

时间:2010-09-07 03:07:16

标签: wcf transactions wshttpbinding wsat

尝试从WCF进行通信时出现以下错误 - > WCF在互联网上使用SSL证书。我在服务器上的WS-AT配置中检查了“无需身份验证”。

几秒钟后,我在客户端收到以下消息,并试图弄清楚我的配置有什么问题(或理解WS-AT)。

  

流动的交易不可能   取消封送。以下例外   发生:WS-AtomicTransaction   协议服务无法解组   流动的交易。下列   发生异常:故障回复   代码CoordinatorRegistrationFailed是   接收。故障原因如下:   WS-AT协议服务失败了   向其协调员注册。一个   无法建立联系。

查看服务器上的日志文件,我找到http://msdn.microsoft.com/en-us/library/aa702582(VS.90).aspx的链接和以下跟踪消息

  

Microsoft.Transactions.TransactionBridge.RegistrationCoordinatorFailed   如果本地TransactionManager无法跟踪   注册其上级   TransactionManager由于   无法发送消息。

所以我想知道......服务器是否尝试通过不同的通道与客户端通信,最初由客户端建立SSL连接。我很确定这是为了让我最终得到这条消息。客户端是我的笔记本电脑(目前在星巴克),所以没有任何传入连接的机会。

那么只有服务器有开放式防火墙才能使用WS-AT事务吗?假设它是可能的 - 我需要做些什么才能允许它?我发现很少有关于必要配置的信息 - 甚至在我的大量编程WCF书中也是如此。


奖励:这里有一些小技巧可供任何试图让WS-AT工作的人:

  • 如果尝试install the WS-AT tab时无法显示 - 并且您正在运行x64操作系统 - 请确保您使用的是x64 version of RegAsm.exe: C:\ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ RegAsm.exe / codebase wsatui.dll
  • 如果一旦安装WS-AT,为传入连接配置并重新启动MCAT,您仍然会收到有关禁用协议的错误,您可能需要重新启动IIS(!)

0 个答案:

没有答案