我正在构建一个WCF路由器,它需要充当许多内部Web服务(WCF和ASMX)的代理。路由部分非常简单,但我无法理解服务元数据交换在此解决方案中的作用。
换句话说:客户端如何获取路由器后面的内部服务的元数据?我是否需要手动向消费者提供WSDL文件?我能以某种方式设置路由器以返回适当内部服务的元数据吗?
或许我的架构完全错了?
答案 0 :(得分:4)
我在这里看到两个选项:
参考:
答案 1 :(得分:1)
同样的“路由器服务”也可用于获取路由器后面的内部服务的单个WSDL。
答案 2 :(得分:0)
您是否考虑过使用简单的HTTP代理?使用REST或SOAP的所有WCF都在其核心HTTP请求中。看起来路由功能(我假设您基于主机名,URL路径或参数)可以通过代理HTTP请求而无需理解内容来执行。 ASP.Net可以很好地自己清理传入的请求,但您可以随时添加额外的自定义过滤。