2.4 元数据交换.ppt

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.4 元数据交换

2.4 元数据交换 教学目标 了解WCF服务元数据的基本概念 了解WCF服务元数据交换方式 掌握WCF服务元数据交换配置实现 掌握WCF服务元数据交换编程实现 WCF服务元数据的基本概念 松耦合是SOA的一个基本的特征 Wcf应用中客户端与服务器的松耦合体现在只需要了解WCF服务的基本描述,而无需知道具体的实现细节,就可以实现正常的服务调用。这个描述就是通过元数据(Metadata)的形式发布的。 WCF服务元数据的基本概念 WCF服务元数据是WCF服务的核心部分。服务地址、绑定、契约的原始描述信息。 服务所公开的元数据包括 XSD( XML Schemas Definition ) (文档中出现的元素、文档中出现的属性、子元素、子元素的数量、子元素的顺序、元素是否为空、元素和属性的数据类型、元素或属性的默认和固定值)和 WSDL 文档(用于描述服务的方法、参数、参数个数、顺序、返回值、返回值的类型等方法的相关信息)。.Disco文档(描述服务的协议、地址、命名空间等信息)。 WCF服务元数据全部都是基于XML语言描述,支持核心的行业标准协议。XSD好处显而易见,??基于XML,没有专门的语法?,XML Schema支持一系列的数据类型(int、float、Boolean、date等) ,可扩充的数据模型,支持综合命名空间?,支持属性组等。而这些正式WCF分布式服务追求的跨语言、跨平台的关键部分所在。 为什么要暴露服务元数据 知道了WCF服务元数据的概念后,我们就能理解为什么要暴露服务的元数据。WCF服务的元数据描述服务的核心信息,客户端需要了解这些特征以便与该服务进行通信。实现异构平台或者系统之间的通信, WCF服务主要特性之一就是跨平台的服务交互。而暴露服务元数据的重要原因就是解决了异构客户端服务交互的关键问题。? 元数据基于XML,自描述。客户端可以根据服务的元数据反序列换生成本地代码,无论是c#,vb还是java语。 WCF服务元数据交换方式 WCF服务有两种方案可以发布自己的元数据。 一种是基于HTTP-GET协议提供元数据,WCF能为服自动的提供基于HTTP-GET的元数据,但是需要显示的添加服务行为(Behavior)以支持这个功能。行为属于服务的本地特性。例如是否需要基于基于HTTP-GET交换数据就是一种服务行为。 另一种则为MEX终结点元数据交换方式,和WCF服务一样使用一个专门的终结点,称为MEX元数据交换终结点。 编码实现HTTP-GET元数据交换方式 using (ServiceHost host = new ServiceHost(typeof(CalculatorService))) { host.AddServiceEndpoint(typeof(ICalculator), new WSHttpBinding(), :9999/calculatorservice); if(host.Description.Behaviors.FindServiceMetadataBehavior()==null) { ServiceMetadataBehavior behavior = new ServiceMetadataBehavior(); behavior.HttpGetEnabled = true; behavior.HttpGetUrl = new Uri(:9999/calculatorservice/metadata); host.Description.Behaviors.Add(behavior); } 代码略 } 配置HTTP-GET元数据交换方式 system.serviceModel behaviors serviceBehaviors behavior name=metadataBehavior serviceMetadata httpGetEnabled=true httpGetUrl=:9999/calculatorservice/metadata/ /behavior /serviceBehaviors /behaviors services service behaviorConfiguration=metadataBehavior name=Services.CalculatorService endpoint address=:9999/calculatorservice binding=wsHttpBinding

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档