2

有人熟悉为 BTS 设置 WCF-nettcp 适配器吗?

当我为接收位置创建 WCF-netTcp 适配器时,我不确定 BTS 将如何/何时打开端口 808 以侦听指定的地址 URI。它似乎只有在我重新启动整个 BizTalk 应用程序时才会发生。如果它由于某种原因关闭,我看不到任何重新配置​​和重新打开端口的方法。

此外,由于这只是 net.tcp 绑定,因此没有暴露 mex 端点。我相信希望使用该公开 WCF 服务的客户端应用程序最初需要 mex 元数据。直接从 Visual Studio 项目访问该端点只会产生

Metadata contains a reference that cannot be resolved: 'net.tcp://biztalkserver/PostReceiveLocation_TCP/PostReceiveService.svc'.
Metadata contains a reference that cannot be resolved: 'net.tcp://biztalkserver/PostReceiveLocation_TCP/PostReceiveService.svc'.
If the service is defined in the current solution, try building the solution and adding the service reference again.

无法说明如何正确地将 mex 端点暴露给服务。BizTalk WCF 服务发布向导让我感到困惑;我无法让它引用我设置的 WCF 适配器/接收位置。我发现没有任何文档可以教我们应该为 netTcp 服务做什么;这都是关于 Http 的。

4

1 回答 1

1

有趣的是,关于发布 Net-Msmq WCF 服务的演练促使我思考 WCF 服务发布向导是如何真正工作的。

问题是这样的:当我手动创建 WCF-netTcp 接收位置时,它有它的端点 URI,例如 net.tcp://biztalkserver/PostReceiveLocation_TCP/PostReceiveService.svc。在 WCF 服务发布向导中选择仅发布 mex 端点的选项时,它最终会询问 WCF 服务位置,我将其混淆为实际的服务位置。由于它只接受 Http URL,因此它似乎只支持基于 Http 的 WCF 端点。

但是对于该文本框,应该放置仅用于 mex 端点的 Http URL,而不是实际的 net.tcp WCF 端点。那是 IIS 中向导将创建必要的元数据文件的位置。完成后,托管 mex 端点的该位置将通知客户端位于 net.tcp 端点的真实服务。

于 2008-11-15T06:37:43.827 回答