WCF中的Web服务发现:Ws-Discovery还是UDDI?

Nic*_*ier 9 .net wcf uddi discovery

我知道UDDI和Ws-Discovery之间的区别(熟知搜索服务与广播的位置).但我的问题是:在WCF中发现Web服务的最简单方法是什么?最简单的意思是我已经在WCF中实现了什么并且现在可以使用了?我没有在WCF中看到UDDI或Ws-Discovery的任何内置实现.

您是否有任何链接或经验可以在WCF中分享这两个协议?

UPDATE

现在我正在考虑三种解决方案,等待.NET 4.0上的WS-discovery,或者可能使用WCF提供的Peer to Peer绑定创建自己的发现绑定.这样我就可以广播请求.或者使用eed3si9n链接提供的实现.

我认为我会做一个网关接口,以便轻松改变后面的实现.

Eug*_*ota 3

.NET 4.0 将具有 WS-Discovery。请参阅.NET 4.0 中的消息传递增强功能:(Discovery 第 I 部分) 在 WCF 4.0 中使用 WS-Discovery。与此同时,Claudio Masieri 提供了一个实现。请参阅WCF 的 WS-Discovery

还有一个以与 UDDI 类似的方式完成的自定义发现实现。请参阅Windows 通信服务发现

想象一下,您有 200 个客户使用您时髦的 Wcf 服务。他们的conf文件中都会有这样一个部分:

<client>
   <endpoint configurationName="default"
               address="http://localhost/servicemodelsamples/service.svc"
               binding="wsHttpBinding"
               bindingConfiguration="Binding1"
              contract="IDataContractCalculator" />
 </client>
 <bindings>
   <wsHttpBinding>
      <binding configurationName="Binding1" />
   </wsHttpBinding>
</bindings>
Run Code Online (Sandbox Code Playgroud)

现在,出于安全原因,您决定使用使用 SSL 的新端点来更改现有端点(服务器端)。您如何更新您的客户?您很快就会发现它会变得乏味。因此,我想在这里详细介绍的想法是实现类似于 UDDI 所做的发现服务,并使用元数据解析器从服务中获取配置,以便动态创建允许客户端与服务进行讨论的代理。

此人与您有类似的担忧,并且似乎有一个可行的解决方案。