2022年2022年理解WCF的关键点 .pdf

上传人:Che****ry 文档编号:27231242 上传时间:2022-07-23 格式:PDF 页数:4 大小:57.91KB
返回 下载 相关 举报
2022年2022年理解WCF的关键点 .pdf_第1页
第1页 / 共4页
2022年2022年理解WCF的关键点 .pdf_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《2022年2022年理解WCF的关键点 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年理解WCF的关键点 .pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、WCF 中的所有消息均为 SOAP 消息 。注意 WCF 的消息与传输协议无关,这与Web 服务不同。因此WCF 服务可以在不同的协议之间传输,而不仅限于HTTP 。因为服务的创建对于外界而言是不透明的,所以 WCF 服务通常通过公开元数据(Metadata)的方式描述可用的功能以及服务可能采用的通信方式。元数据的发布可以预先定义,它与具体的技术无关,例如采用HTTP-GET 方式的 WSDL ,或者符合数据交换的行业标准。WCF 支持以下传输样式:HTTP TCP Peer network(对等网)IPC(基于命名管道的内部进程通信)MSMQ IPC 地址使用net.pipe 进行传输,这意

2、味着它将使用Windows 的命名管道。在WCF 中,使用命名管道的服务只能接收来自同一台机器的调用,而且每台机器只能打开一个命名管道。WCF 的所有服务都会公开为契约(Contract) 。契约与平台无关,是描述服务功能的标准方式。服务契约数据契约错误契约消息契约WCF 服务类不能凭空存在。每个服务都必须托管(Hosting)在 Windows 进程中,该进程被称为宿主进程(Host Process) 。有以下几种宿主进程IIS。但是只能使用HTTP 协议。自托管。WAS(Windows 激活)托管。该服务只适用于Vista,WAS 是 IIS7 的一部分,但也可以独立的安装和配置。当把 W

3、CF 在 IIS 托管起来之后,则和传统的Web Service 就达成了一致,他们都有以下特点宿主进程在客户端第一次请求时自动启动借助 IIS 管理宿主进程的生命周期只能使用HTTP 协议在 IIS 创建虚拟目录传统 Web Service 用的是 ASMX ,而 WCF 用的是 .SVC 因此可以说Web Service 是 WCF 的一个特例应用建立 ServiceHost 的时候,我们可以提供基地址,也可以不提供基地址 ,例如ServiceHostserviceHost= newServiceHost ( typeof ( MyCalculator), newUri ( http:/l

4、ocalhost:8000), new Uri ( net.tcp:/localhost:9000/) ); 和名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - ServiceHostserviceHost = new ServiceHost ( typeof ( MyCalculator); 基地址并不会作为作为一个终结点 存在, 也就是说并不会默认称为一个调用点。ServiceHost拥有基地址集合可以使得服务能够接收来自多个

5、地址和协议的调用,同时只需要使用相对的URI 。一句话,基地址只是为了先对地址提供了帮助,可以说就是一个变量设置,使得后面的终结点可以合起结合构成相对地址。在实用中, 我们配置好一个基地址,然后用相对地址设置各个终结点,就好像在IIS 中,基地址是IIS 公开出去的根地址,各个终结点称为虚拟目录一样。以后只用修改根地址,其底下的终结点(虚拟目录)随之就发生改变。因为 WCF 是集大成者,其可以兼容各种通信协议,Web 服务协议(例如WSDL ) ,安全性,消息编码(文本还是二进制),因此客户端和服务端通信的时候必须在配置上达成一致,我们把这 一套配置称为一个绑定,即 ABC 中的 B(Bind

6、ing) 。 WCF 内置了 9 种标准绑定。我们必须明白一下几个概念WCF 全部使用SOAP 消息,这是保证互操作性的关键,也就意味着WCF 可以被任何平台理解,因为SOAP 是国际标准。WCF 的通过元数据来描述可用的服务,但对元数据的描述未必使用WSDL (基于HTTP-GET ) ,可以是任何工业标准。因为WSDL 是完全基于HTTP 协议,因此这限制了 WSDL 的应用。SOAP 是消息格式,但对SOAP 的传输可以由很多传输协议进行,既可以是HTTP,也可以是 TCP、也可以是IPC、也可以是MSMQ 等。下图反映了这种情况名师资料总结 - - -精品资料欢迎下载 - - - -

7、- - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - 但据了解, 目前来说TCP 绑定依然要求客户端和服务端都使用WCF,至于 IPC(命名管道,必须在同一台机器上)和MSMQ 就更不用说了,因为他们本身就是微软的专用技术,底部传输用的是二进制编码。如果我们追求跨平台,则HTTP 以及 WSDL(或者最新的WS-* 协议)的组合才是真正的跨平台之道,也就是“基本绑定”。至于其他的绑定就被限制在了.NET平台(根本上因为WCF 技术) 即 Windows 平台。因此在使开发的时候,如果我们确定

8、我们的服务及使用完全限制在.NET 平台,则使用TCP 是一个好的选择,因为高效,但如果考虑互操作性,显然只有HTTP+WSDL (或者最新的WS-* 协议)是唯一组合。如果想要实现跨平台的互操作性,则必须选择HTTP/HTTPS + WSDL (WS-* )的组合。其中 如 果 客 户 端 期 望 调 用 基 本 的 Web服 务 协 议 ( ASMX Web 服 务 ), 那 么 选 择SOAP 消息HTTP TCP IPC MSMQ SOAP 消息HTTP TCP IPC MSMQ SOAP 元数据Server Client 名师资料总结 - - -精品资料欢迎下载 - - - - -

9、- - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - BasicHttpBinding 绑定就能够模拟ASMX Web 服务公开WCF 服务。缺点是我们无法使用大多数最新的WS-* 协议的优势。但是,如果非WCF 客户端能够识别这些标准,就应该选择其中的一种WS 绑定,例如 WSHttpBinding 、 WSFederationBinding或者 WSDualHttpBinding 。我们为什么认为WCF 是微软分布式技术的集大成者,有下面几个原因传统的 Web 服务 。 这些服务的典型特征是

10、基于HTTP/HTTPS 、 WSDL/WS-* 、 文本编码、无连接。在WCF 中通过基本绑定和WS 绑定来实现。Remoting。特征是有连接的,使用TCP 协议。在WCF 中使用 TCP 绑定来实现。原来的 IPC/MSMQ 。针对这些原有的通信协议,为了使其在使用原有通信协议的基础上,能够支持分布式调用,WCF 引入了 IPC 绑定和 MSMQ 绑定。因此 WCP 的关键词有 分布式调用、SOAP、 代理类 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁