zoukankan      html  css  js  c++  java
  • WCF 4.0中的动态发现服务WSDiscovery

    WCF 3/3.5 中,当我们要调用一个服务时,必须事先知道该服务的地址,然后通过服务代理用双方约定好的契约与远程的服务进行交互。现在,WCF 4.0中提供了发现服务的支持,当我们再想调用一个服务时,没必要去知道该服务的具体地址,WCF 4.0实现了OASIS的WS-Discovery标准,相关的类定义在System.ServiceModel.Discovery命名空间中。这是一个单独的程序集,所以需要添加对它的引用。只需要利用 System.ServiceModel.Discovery 命名空间下的相关类就可以实现两种方式的动态发现服务:

    Ad hoc Mode:简单理解,就是服务启动时就向网络广播Hello消息,调用方收到后进行回应建立通讯的模式。

    ad hoc
    Managed Mode:简单理解,就是所有服务事先在一个叫 Discovery Proxy 的地方登记,然后所有调用方发送查找请求给 Discovery Proxy 来查找并调用相关服务的模式。

    managedmode

    WCF 4.0中要动态发现服务,用 Ad hoc Mode 实现起来还是比较简单的。对于Managed Mode,就需要继承 System.ServiceModel.Discovery.DiscoveryProxy 抽象类去实现自己的 Discovery Proxy 了。

  • WS-Discovery 1.1 规范http://docs.oasis-open.org/ws-dd/discovery/1.1/os/wsdd-discovery-1.1-spec-os.html
  • Discovery Conceptshttp://blogs.msdn.com/discovery/archive/2009/05/29/discovery-overview.aspx
  • WCF Discoveryhttp://msdn.microsoft.com/en-us/library/dd456782(VS.100).aspx
  • WS-Discovery for WCF : http://www.codeproject.com/KB/WCF/ws-discovery.aspx

欢迎大家扫描下面二维码成为我的客户,为你服务和上云

查看全文
  • 相关阅读:
    在Delphi中使用内联变量(inline variables) 的5个理由
    一秒可生成500万ID的分布式自增ID算法—雪花算法 (Snowflake,Delphi 版)
    修改 Delphi 10.3.3 IDE 字体和字体大小
    Deleaker – 内存泄漏猎人(RAD Studio 的附加组件)
    如何同时读取 TDateTimePicker 的 Date 和 Time ?
    在DCEF3中使用较少的dll文件?
    在Vcl和FireMonkey应用程序中启用TXMLDocument 的XPath(selectNode,selectNodes)方法
    Android 开发—— 小工具,大效率
    深度调查“比特币敲诈者”背后藏大型僵尸网络
    腾讯安全反病毒实验室解读“Wannacry”勒索软件
  • 原文地址:https://www.cnblogs.com/shanyou/p/1625139.html
  • Copyright © 2011-2022 走看看