WCF路由和服务元数据

Ily*_*tok 7 wcf soap wsdl web-services wcf-routing

我正在构建一个WCF路由器,它需要充当许多内部Web服务(WCF和ASMX)的代理.路由部分非常简单,但我无法理解服务元数据交换在此解决方案中的工作方式.

换句话说:客户端如何获取路由器后面的内部服务的元数据?我是否需要手动向消费者提供WSDL文件?我可以以某种方式设置路由器以返回适当的内部服务的元数据吗?

或许我的架构完全错了?

Dar*_*rer 4

我在这里看到两个选项:

  1. 如果您不想公开内部地址,则可以选择创建“非透明”代理。优点是您可以做的不仅仅是路由消息(即,此类代理可以充当“安全边界”,解开加密消息并将其直接传递到内部端点)。它还可以提供“可互操作级别”,将 WCF 服务公开为使用相同数据类型/消息 XML 结构的简单 SOAP。缺点是您必须更新其代码以及代理服务
  2. 您可以实现 WSDL 重写器。有了它,您可以即时屏蔽内部服务 URL - 根据您的情况,简单的字符串替换可能就足够了,也可能不够。

参考: