我想知道是否有可能在WCF管道中有一个中间节点;
例如;
我有一个应用程序将使用插件主机窗口服务并通过WCF进行通信。插件本身将由主机服务在其自己的AppDomain中加载。目前我正在设计插件以使用序列化+远程处理来实现host-plugin之间的通信。
我想知道的是,主机服务是否可以作为中介并且便于应用程序和插件直接通信?即所有三个共享相同的接口并且服务基本上是接收数据然后将其转发到应用程序。但是,我认为额外的接收 - 重新发送是一种浪费所以...我可以让服务在运行中更改WCF端点并让插件和应用程序直接通信吗?
答案 0 :(得分:2)
我不完全确定我理解你的问题,但以下对我们的团队在处理WCF中介路由时有所帮助:
在Windows Communication Foundation中,每个服务端点实际上都有两个与之关联的地址 - 逻辑地址和物理地址。这些地址之间的差异与WS-Addressing中“To”和“Via”之间的差异相同。逻辑地址(“To”)是SOAP消息所针对的地址。另一方面,物理地址(“Via”)是Windows Communication Foundation侦听消息到达的实际传输特定网络地址。
以下链接提供有关WCF中介路由的全面信息: http://msdn.microsoft.com/en-us/magazine/cc163412.aspx