《【IASK】WCF开发技术及VS2016新特性_石林》.doc

《【IASK】WCF开发技术及VS2016新特性_石林》.doc

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

石林:WCF开发技术及VS2008新特性 第一章WCF开发技术 概述 在嘉定(微软合作)项目中经常使用或推荐使用WCF技术来进行数据通讯及 分布式应用,WCF整合了MS历来最优秀的分布式系统开发技术,取其精华,弃其糟粕,是分布式应用程开发技术的集大成者,相比之前流行的Web Service,WCF可能会引领分布式开发技术的一个新潮流。 WCF的概念及意义 WCF是什么:WCF(原代号为Indigo)是一个用于创建和运行分布式系统的技术集合,使用它能创建安全的(Secure)、可靠的(Reliable)、跨平台的(transacted messaging along with interoperability)的分布式解决方案。它的面向服务的编程模型整合了.Net平台下以往全部的分布式开发技术,例如.Net Remoting,Asp.Net Xml Web Service,MSMQ,WSE,和Enterprise Service等,它可以支持跨应用程序域(AppDomain),进程(Process),网络(NetWork)的进行数据通讯,而且能寄宿在诸如IIS,Windows Service,Console,Windows Application等多种宿主(Host)中。它适用于Vista,Xp和Windows 2003等操作系统。 WCF能做什么:在win32中,应用程序是运行在进程(Process)的线程(Thread)中的,.Net平台出现之后,出现了AppDomain,其实就相当于在进程和线程之间又有了一层包装,类似于子进程的概念,在一个进程(或者应用程序域)中的对象能进行直接的访问和控制,但超出这个范围,便不能进行直接的访问和控制了,所以说进程(或者应用程序域)有一定的隔离作用,如果是分布在不同网络,不同操作系统上的不同进程,他们进行通讯的难度就更大,而分布式应用程序要求的就是将原本被隔离的作用域通过一定的契约联系起来,从而达成多个系统的沟通协作。当然能实现这种目的的方式远不止WCF一个,比如在win32时代,经常使用映射内存文件来实现进程之间的互操作问题,还有在windows程序中,用windows消息wm也能实现不同进程之间的通讯问题,但这些都有局限性,因为他们不能很好的解决跨平台,跨网络问题,而WCF可以。 WCF的架构图: WCF与其他分布式技术功能对比 ? Xml Web Service .Net Remoting Enterprice Service WSE MSMQ WCF 跨平台 √ ? ? ? ? √ .Net与.Net通讯 ? √ ? ? ? √ 分布式事务 ? ? √ ? ? √ 安全可靠性 ? ? ? √ ? √ 消息队列 ? ? ? ? √ √ 从表格中我们可以看出,WCF似乎等于前面几项技术之和,但事实并非如此,它既整合了原来的多项技术,而且拥有着自己得天独厚的优点,如下地址WCF的每个服务都需要有一个地址的,而且只能有一个,WCF支持多种传输:1.HTTP 2.TCP3.对等网4.内部进程通信5.MSMQ 通常的地址包括两个方面:1.服务位置、2.传输的协议。如基于tcp的地址:net.tcp://localhost:8800/Henllyee.Service,在这里net.tcp就是传输的协议,而后面就是告诉服务的位置。契约WCF所有的服务都是公开为契约,当你使用这个服务是就比约遵循一定的契约。契约的表示就想webservice里的表示,也是通过属性标签来标识的。WCF定义了四种契约类型:1.服务契约(Service Contract):定义客户端能够执行的服务操作。2.数据契约(Data Contract):定义于服务交互的数据类型。3.错误契约(Fault Contract):定义抛出的错误。4.消息契约(Message Contract):定义直接与服务交互的消息。服务契约是要广泛使用的,定义个服务契约是很简单的,只是在一些服务接口上进行标识即可。 namespace JiaDing.Application.TaskCenter.WCFService.WCFRssService { // NOTE: If you change the interface name IOpenRssService here, you must also update the reference to IOpenRssService in App.config. [ServiceContract(Namespace = http://JiaDing.Application.TaskCenter.WCFService.WCFRssService)] [Service

文档评论(0)

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

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

1亿VIP精品文档

相关文档