WCF技术剖析之一:通过一个ASPNET程序模拟WCF基础架构-WCF技巧-WCF教程

WCF技术剖析之一:通过一个ASPNET程序模拟WCF基础架构-WCF技巧-WCF教程

ID:43985305

大小:420.45 KB

页数:15页

时间:2019-10-17

WCF技术剖析之一:通过一个ASPNET程序模拟WCF基础架构-WCF技巧-WCF教程_第1页
WCF技术剖析之一:通过一个ASPNET程序模拟WCF基础架构-WCF技巧-WCF教程_第2页
WCF技术剖析之一:通过一个ASPNET程序模拟WCF基础架构-WCF技巧-WCF教程_第3页
WCF技术剖析之一:通过一个ASPNET程序模拟WCF基础架构-WCF技巧-WCF教程_第4页
WCF技术剖析之一:通过一个ASPNET程序模拟WCF基础架构-WCF技巧-WCF教程_第5页
资源描述:

《WCF技术剖析之一:通过一个ASPNET程序模拟WCF基础架构-WCF技巧-WCF教程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、IfWCF技术剖析之一:通过一个ASP.NET程序模拟WCF基础架构细算起來,己经有好几个月没有真正的写过文章了。近半年以來,一宜忙于我的第一本WCF专著《WCF技术剖析》的写作,一直无暇管理自己的Blogo到口前为止《WCF技术剖析(卷1)》的写作暂告一段落,初步预计于下个月由武汉博文视点出版。在《WCF技术剖析》写作期间,对WCF乂有了新的感悟,为此以书名开始木人的第三个WCF系列。木系列的目的在于对《WCF技术剖析》的补充,会对书中的一些内容进行展开讲述,同时会囊括很多由于篇幅的原I大I忍痛割弃的内容。本系列的第一篇,我将会对WCF

2、的基本架构作一个大致的讲解。不过,一改传统对WCF的工作流程进行平铺直叙,我将另辟蹊径,借助于我们熟悉的ASP.NET作为请求处理平台,通过一个简单的托管程序模拟整个WCF客户端和服务端的架构。SourceCode下载:Artech.WcfFrameworkSimulator.zipWCF框架处理流程和涉及的组件我们的模拟程序将你搭建一个迷你版的WCF框架,为了展示WCF整个处理流程中使用到一些特殊组件。我们首先来简单介绍一下对于一个简单的WCF服务调用,WCF的客户端和服务端框架的处理流程,和该流程的每一个阶段都使用那些重要组件。下而的

3、列表列出了WCF服务端框架对于处理一个简单的WCF服务调用请求所捉供的功能,以及相应的功能承载的组件:•请求消息的接收和回复消息的发送:服务端在传输层监听与接收來自客户的请求,并将经过编码后的回复消息通过传输层发送到客八端•请求消息的解码和回复消息的编码:将接收到的字节数组通过解码生成请求消息对象,并将1叫复消息通过编程转化成字节组。消息的编码和解码通过MessageEncoder完成,而MessageEncoderFactory负责创建该対象•请求消息的反序列化和回复消息的序列化:对请求消息进行反序列化,为服务操作的执行牛:成相应的输入

4、参数,以及将服务操作执行的结果(返回俏或者ref/out参数)序列化,并生成回复消息。序列化和反序列化通过DispatchMcssagcFormattcr完成•服务对象的创建:创建或者激活服务对象实例,InstanceProvider用于服务对象的创建或获取•服务操作的执行:调川创建的服务对象的操作方法,并传入经过反序列化牛成的输入参数。Opcrationlnvokcr完成对服务操作的最终执行较Z服务端的流程,客户端的流程显得相对简单,仅仅包含以下三个必需的阶段:•请求消息的序列化和回复消息的反序列化:生成请求消息并将输入参数序列化到请求

5、消息屮,以及对回复消息进行反序列化,转化成方法调用的返回值或者ref/out参数。序列化和反序列化通过ClienthMessageFormatter完成•请求消息的编码和回复消息的解码:对请求消息进行编码牛成字节数纽供传输层发送,以及将传输层接收到的字节数组解码生成恢复消息。消息的编码和解码通过McssagcEncodcr完成,而McssagcEncodcrFactory负责创建该对象•请求消息的发送和回复消息的接收:在传输层将经过编码的请求消息发送到服务端,以及将接收来自服务端的恢复消息图1精简版WCF客户端与服务端组件图1反映了进行服

6、务调用的必要步骤和使用到的相关WCF组件。在本案例演示中,我们需要做的就是手工创建这些组件,并通过我们自己的代码利用它们搭建一•个简易版的WCF框架。如果读者能够对本案例的实现有一个清晰的理解,相信对于整个WCF的框架就不会感到陌生了。图2显示了本案例解决方案的基本结构,总共分三个项目。Contracts用于定义服务契约,被服务端和客户端引用。客户端通过一个Console应用模拟,而服务端则通过一个ASP.NETWebsite实现。图2WCF框架模拟案例应用结构步骤一、通过服务契约类型创建相关组件WCF在整个服务调用生命周期的不同阶段,会

7、使用到不同的组件。我们通过一个方法将服务端和客户端所需的所有组件都创建出来,为此,我们在Contracts项目中添加了一个Ut订ity类型,在Create方法中创建所有的组件并通过输出参数的形式返回,泛型类型T表示的是服务契约类型。在该方法小,输出参数encoderFactory被服务端和客户端用于消息的编码和解码,clientFormatters和dispatchFormatters以字典的形式包含了基于服务操作的TCIieniMessageFormatter和TDispatchMessageFormatter,其中clientF

8、ormatters和dispatchFormatters的Key分别为操作名称和操作对应的Actiono同样通过字典形式返回的operationinvokers和methods用于在服务端执行

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。