WCF学习之旅—请求与答复模式和单向模式(十九) WCF学习之旅—HTTP双工模式(二十) 五.TCP双工模式 上一篇文章中我们学习了HTTP的双工模式,我们今天就学习一下TCP的双工模式. 在一个基于面向服务的分布式环境中,借助一个标准的.平台无关的通信协议,使各个服务通过SOAP Message实现相互之间的交互.这个交互的过程实际上就是信息交换的过程.WCF支持不同形式的信息交换,我们把这称之为信息交换模式(Message Exchange Pattern(简称MEP),下同), 常见的M…
WCF学习之旅—请求与答复模式和单向模式(十九) 四.HTTP双工模式 双工模式建立在上文所实现的两种模式的基础之上,实现客户端与服务端相互调用:前面介绍的两种方法只是在客户端调用服务端的方法,然后服务端有返回值返回客户端:相互调用是指客户端调用服务端的方法,同时服务端也可以调用客户端的方法. 基于双工MEP (信息交换模式,Message Exchange Pattern,下同)消息交换可以看成是多个基本模式下 (比如请求-回复模式和单项模式)消息交换的组合.双工MEP又具有一些变体,比如典型…
止文(WCF学习之旅—TcpTrace工具(二十五))介绍了关于TcpTrance的一种使用方式,接下来介绍第二种使用方式. 三.通过ListenUri实现基于tcpTracer的消息路由 对于路由的实现,本质上就是实现逻辑地址和物理地址的分离.通过前面的示例介绍,我们了解,如何在客户端实现TcpTracer捕获客户端与服务端的通信信息.在这一章节中我们学习如能通过设置ListenUri实现基于服务端的TcpTracer的消息路由. 服务端的物理地址和逻辑地址的分离通过ListenUri实现,L…
前面的几篇文章,我们学习了怎么开发WCF应用程序与服务,也学习了如何进行WCF的配置.对于Web Service与WCF服务应用,服务端与客户端的通信是通过收发SOAP Message进行,我们如何有效而快速的获取通信信息呢?这就是本文要介绍的一个工具. 一.TcpTrace实现的基本原理 在对Web Service和WCF进行调试时,可以使用Soap Trace 工具对Soap Message进行深入捕获并进行分析.经常使用的工具有TcpTrace与Microsoft Soap Toolkit…
上接    WCF学习之旅—WCF服务部署到IIS7.5(九) WCF学习之旅—WCF服务部署到应用程序(十) WCF学习之旅—WCF服务的Windows 服务程序寄宿(十一) 八.WAS宿主 IIS7允许通过HTTP外的协议进行激活和网络通信.此环境适合开发可通过 WCF支持的任何网络协议(包括http.net.tcp.net.pipe.net.msmq)进行通信的WCF服务.部署简单.管理方便,这些网络协议在部署时可像Http一样,直接丢到IIS7上即可,我们在下面的例子中以net.tcp为…
第四步:通过自我寄宿的方式寄宿服务 WCF服务需要依存一个运行着的进程(宿主),服务寄宿就是为服务指定一个宿主的过程.WCF是一个基于消息的通信框架,采用基于终结点(Endpoint)的通信手段. 终结点主要由地址(Address).绑定(Binding)和协定(Contract)三要素组成,如图所示.由于三要素应为首字母分别为ABC,所以就有了易于记忆的公式:Endpoint = ABC.一个终结包含了实现通信所必需的所有信息.如下图. 终结点三要素 地址(Address):一个指示可以查找终…
上接WCF学习之旅—第三个示例之一(二十七) 五.在项目BookMgr.Model创建实体类数据 第一步,安装Entity Framework 1)  使用NuGet下载最新版的Entity Framework 6.1.3.在解决方案资源管理器中——>在项目BookMgr.Model上鼠标右键单击——>弹出一个菜单,选中“管理解决方案的NuGet程序包”,打开NuGet程序包管理界面.如下图. 2)      在NuGet程序包管理界面中搜索 Entity,找到最新版本Entity Frame…
上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) 在上一篇文章中我们创建了实体对象与接口协定,在这一篇文章中我们来学习如何创建WCF的服务端代码.具体步骤见下面. 六.创建项目BookMgr.Service的WCF服务代码 第一步.安装Entity Framework 6.1.3 1)  安装过程同上一篇文章中类似.使用NuGet下载最新版的Entity Framework 6.1.3.在解决方案资源管理器中——>在项目BookMgr.Service上鼠标右…
WCF学习之旅—实现REST服务(二十二) WCF学习之旅—实现支持REST服务端应用(二十三) 在上二篇文章中简单介绍了一下RestFul与WCF支持RestFul所提供的方法,及创建一个支持REST的WCF服务端程序,本文介绍如何调用上一篇文章介绍的RestFul服务端. 五.Windows客户端调用 为了强调REST的通用性,客户端不用WCF的形式调用服务,而是采用HttpWebResponse通过编程方式直接访问,消息格式我们选XML. 首先,我们使用C#来封装一个RestHelper类…
在上一篇(WCF学习之旅—实现REST服务(二十二))文章中简单介绍了一下RestFul与WCF支持RestFul所提供的方法,本文讲解一下如何创建一个支持REST的WCF服务端程序. 四.在WCF中创建REST服务 1. 在SCF.Contracts 在创建一个服务契约IBookRestService. 这里提供两个方法,分别采用GET和POST方式访问. 我们可以看到,与普通WCF服务契约不同的是,需要额外用WebGet或者WebInvoke指定REST访问的方式.另外还要指定消息包装样式和…