基础内容-通过发现查找新WCF

Microsoft .NET Framework 3.5 对 Windows Communication Foundation (WCF) 的全部 可能调用均具有两个限制。第一个限制是,分配给服务的端口或管道必须可用。因此,应用 程序开发人员或管理员必须试想或者提供某种方法,以保留这些端口或管道。第二个限制是 ,客户端必须提前知道服务端点地址,包括端口号和服务器或管道名称。

最理想的情况是,服务能够使用任何可用地址。反过来,客户端就需要在运行时发现此地 址。事实上,存在一种基于行业标准的解决方案,用于规定此发现的定位方式。本专栏的主 题就是该解决方案(简称为“发现”)及其支持机制。同时,我还会介绍几个有用的工具和 帮助程序类。这些内容的源代码,可在 code.msdn 中找到。

地址发现

发现依赖于用户数据报协议 (UDP)。与传输控制协议 (TCP) 不同,UDP 是无连接协议, 在数据包发送者和接收者之间不需要建立直接连接。客户端使用 UDP 传播对任何支持指定约 定类型的端点的发现请求。服务所支持的专门发现端点将接收这些请求。发现端点的实现将 响应客户端,以提供支持指定约定的服务端点的地址。客户端发现服务后将对其进行调用, 与常规 WCF 调用相同。有关该过程,在图 1 中进行了演示。

图 1 通过 UDP 的发现地址

与元数据交换 (MEX) 端点非常类似,WCF 提供了类型为 UdpDiscoveryEndpoint 的标准 发现端点:

public class DiscoveryEndpoint : ServiceEndpoint

{...}

public class UdpDiscoveryEndpoint : DiscoveryEndpoint

{...}

通过在服务支持的行为集合中添加 ServiceDiscoveryBehavior,可以使主机实现该端点 。可以通过以下编程方式实现此目的:

ServiceHost host = new ServiceHost(...);
host.AddServiceEndpoint(new UdpDiscoveryEndpoint());
ServiceDiscoveryBehavior discovery = new ServiceDiscoveryBehavior();
host.Description.Behaviors.Add(discovery);
host.Open();

图 2 显示如何使用服务配置文件添加发现端点和发现行为。

图 2 在配置文件中添加发现端点

<services>
   <service name = "MyService">
    <endpoint
      kind = "udpDiscoveryEndpoint"
    />
    ...
   </service>
</services>
<behaviors>
   <serviceBehaviors>
    <behavior>
      <serviceDiscovery/>
    </behavior>
   </serviceBehaviors>
</behaviors>

时间: 2024-12-06 07:21:22

基础内容-通过发现查找新WCF的相关文章

《CCNA ICND2(200-101)认证考试指南(第4版)》——1.2节基础内容

1.2 基础内容 CCNA ICND2(200-101)认证考试指南(第4版) 1.2.1 LAN 交换复习 提示: 该部分将复习一下ICND1考试和CCENT认证中的以太网LAN交换的基本内容.如果对以太网LAN的基本内容记得很牢,可直接跳到下一部分1.2.2节"生成树协议". 现代LAN是通过有线和无线网络连接将各种设备连接到一起建立起来的网络.这些连接赋予网络内任何设备相互之间发送和接收数据的基本手段.这些连接到LAN的设备,与WAN和互联网相结合,就能够与企业网络甚至世界另一端

搜索引擎优化堪称网络营销的基础内容

中介交易 SEO诊断 淘宝客 云主机 技术大厅 现如今,多元素网络营销发展比较快,例如,搜索引擎营销(简称SEM).博客营销.软文营销.社交营销.官网营销.视觉营销.微博营销.微信营销等.在众多网络营销形式中,搜索引擎营销中的搜索引擎优化(简称SEO)是基础.据互联网中心研究数据分析,80%的用户会使用搜索引擎来搜索,寻找和获取信息.因此,要想抓住大部分的用户就要去做搜索引擎营销.下面良聚美SEoer从三个方面阐述搜索引擎优化的重要性. 一.搜索引擎优化是网络营销的基础内容 网络营销最基础的内容

如何查找新浪UC好友

新浪UC逐渐开始受越来越多的网友关注.在这里我会向大家陆续介绍新浪UC的使用方法,教您用好新浪UC.今天学习如何查找新浪UC好友. 一:使用普通查找在主界面的"我的好友"列表空白处,点击鼠标右键,选择添加好友选项. 如下图所示: 或直接点击主窗口中的 查找按钮,出现查找好友窗口如下图所示: 在基本查找项里,提供了四中查找方式,分别是看看谁在线.通过UC号码查找,通过sina会员名查找和按昵称.电子邮件查找. 如选择了"看看谁在线"方式查找,所有UC在线用户将被列表显

3天学习完AngularJS基础内容小结

简介:AngularJS 是一个 JavaScript 框架.它是一个以 JavaScript 编写的库. 一.AngularJS大致功能模块 二.页面交互变得简单 1.示例:计算价格 <html> <head> <meta name="viewport" content="width=device-width" /> <meta charset="utf-8"> <script src=&q

Airbnb的移动客户端,发现一些新的有趣玩意儿

如果你身在旧金山,又恰好在上周四之后打开了Airbnb的移动客户端,你会发现一些新的有趣玩意儿:这家公司现在除了向你提供短租房源外,还在向你推荐以房屋为中心的周边游景点,这意味中Airbnb正在试图成为一家以住宿为核心的旅游服务商. 也就是在上周四,Airbnb软件工程师Surabi Gupta曾在一次总部会议上表示:"上线目的地周边游推荐,只是Airbnb切入更广泛意义上的'旅游发现'的第一步.我们的目标,是要帮助用户解决旅游目的地选择和旅行计划问题." 我觉得Gupta的这段话可以

《CCENT/CCNA ICND1(100-101)认证考试指南(第4版)》——1.2节基础内容

1.2 基础内容CCENT/CCNA ICND1(100-101)认证考试指南(第4版)本章将介绍有关计算机网络一些主要的基本观点,另外还定义两个网络模型结构:TCP/IP和OSI.本章开头部分主要介绍人们是如何看待网络并由此展开对CCNA的学习:中间为网络TCP/IP的一些主要功能:最后为OSI模型的一些额外概念和术语. 1.2.1 有关网络观点作为刚刚开始接触网络的新手,或许与大多数人一样,读者对网路的看法与其他网络用户所理解的相差无几,但与组建网络的网络工程师的观点相比,则可能有着天壤之别

《精通移动App测试实战:技术、工具和案例》一第1章 Android系统基础内容介绍1.1 Android系统介绍

第1章 Android系统基础内容介绍 精通移动App测试实战:技术.工具和案例工欲善其事必先利其器,因为本书主要是针对移动平台讲解测试方面的内容,所以对移动平台目前主流的Android系统有一个了解十分必要,下面我们就一起来了解一下这个操作系统相关的知识内容. 1.1 Android系统介绍 Android一词的原意指"机器人",同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统.中间件.用户界面和应用软件组成. Androi

《Cisco QoS认证考试指南(第2版)》——6.2节基础内容

6.2 基础内容Cisco QoS认证考试指南(第2版)流量整形解决了当今网络中与QoS(服务质量)相关的很多重要问题.即使没有使用限速,流量整形也可以解决一类延迟和丢包问题,称为出向阻塞(Egress Blocking),这个问题会出现在所有多路访问WAN链路上,比如帧中继和ATM网络.CCNP和CCIE考试和实验考试中都涉及了流量整形,因此本章介绍的内容也有助于你准备其他考试. 限速解决了与网络带宽容量和流量工程相关的特定问题.举例来说,假设一个ISP(Internet服务提供商)将网络设计

《Cisco QoS认证考试指南(第2版)》一6.2 基础内容

6.2 基础内容 Cisco QoS认证考试指南(第2版)流量整形解决了当今网络中与QoS(服务质量)相关的很多重要问题.即使没有使用限速,流量整形也可以解决一类延迟和丢包问题,称为出向阻塞(Egress Blocking),这个问题会出现在所有多路访问WAN链路上,比如帧中继和ATM网络.CCNP和CCIE考试和实验考试中都涉及了流量整形,因此本章介绍的内容也有助于你准备其他考试. 限速解决了与网络带宽容量和流量工程相关的特定问题.举例来说,假设一个ISP(Internet服务提供商)将网络设