使用元数据的 WCF 服务发现

发布于 2024-11-06 00:42:51 字数 65 浏览 5 评论 0原文

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

Hi I'm looking for a WCF example which include service discovery and a way to discover/detect the binding type, I think it could be done using metadata exchange
.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你在看孤独的风景 2024-11-13 00:42:51

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

  1. 添加 mex 端点。
  2. 添加元数据交换行为。
  3. 在客户端应用程序中使用具有元数据标准的发现。

使用元数据标准进行发现

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;

I just found the correct answer, here are the steps to complete the task:

  1. Add a mex endpoint.
  2. Add metadata exachange behaviour.
  3. in the client application use discovery with metadata criteria.

Discovery with metdatada criteria

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;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文