嗨,我正在寻找一个WCF示例,其中包括服务发现以及发现/检测绑定(bind)类型的方法,我认为可以使用元数据交换来完成

最佳答案

我刚刚找到正确的答案,这是完成任务的步骤:

  • 添加一个混合端点。
  • 添加元数据交换行为。
  • 客户端应用程序中的
  • 将发现与元数据条件一起使用。

  • 使用metdatada标准进行发现
    DiscoveryClient discoveryClient = new DiscoveryClient(new UdpDiscoveryEndpoint());
    FindCriteria findCriteria =   FindCriteria.CreateMetadataExchangeEndpointCriteria    (ContractType);
        findCriteria.Duration = TimeSpan.FromSeconds(15);
        findCriteria.MaxResults = 1;// MaxResults;
    
        FindResponse result = discoveryClient.Find(findCriteria);
        discoveryClient.Close();
    
    
        ServiceEndpointCollection eps = MetadataResolver.Resolve(ContractType, result.Endpoints[0].Address);
        return eps[0].Binding;
    

    07-28 10:09