- 1
- 0
- 约3.57千字
- 约 22页
- 2017-12-26 发布于河北
- 举报
WCF第7章-客户端通信
XML Web Service开发 第7章-客户端 主要内容 客户端体系结构 客户端通信模式 创建客户端代码 定义客户端绑定和端点 客户端体系结构 WCF的客户端是应用程序,用来调用服务提供的功能。 客户端通过代理程序与服务通信,一旦代理程序和通道创建成功,客户端就可以访问端点上提供的任何方法。 客户端与服务的通信对接点就是服务的端点。 客户端体系结构图示 客户端的重要组件 通道:它建于配置文件中指定的绑定设置之上。 IClientChannel接口:允许开发人员控制通道功能。 体系结构——客户端对象 WCF的客户端必须包含两个基对象接口: ICommunicationObject接口 它是一个核心组件,定义了基本的通信对象功能。 这个对象负责为系统内的所有通信对象定义基本状态契约。 通信对象的状态:Open,Close,Abort,Opening,… 详见P144 这个接口只有一个State属性,用来返回对象的当前状态。 IExtendibleObject接口 提供了客户端的可扩展行为,可以用自定义行为调用该对象。 该接口提供一个属性Extensions,用来返回一组扩展对象。 体系结构——客户端通道 WCF包括两个基通道接口: IClientChannel 定义了扩展后的ClientBase通道的操作。 IContextChannel 定义了通道的会话状态。 包括会话ID(SessionID)、输入会话(Input)和输出会话(Output)以及会话中与客户端通信的本地及远程端点。 相关属性:P146 体系结构——通道工厂 ChannelFactory对象负责创建和支持所有的运行时客户端调用。 下面的代码通过指定服务契约名来使用ChannelFactory创建通道。 EndpointAddress ea = new EndpointAddress(“://localhost:8000/WCFService”); BasicHttpBinding bb = new BasicHttpBinding(); WCFClientApp.TCP.IServiceClass client = channelFactoryIServiceClass.CreateChannel(bb,ea); Client.PlaceOrder(Val1); 通道工厂—— ChannelFactory类 构造函数 属性 Credentials(凭证):通过工厂创建的通道,返回客户端与服务端点通信时使用的凭证。 Endpoint(端点):返回通道通过工厂连接创建的端点。 State(状态):返回当前通信对象的状态值。 方法 BeginClose BeginOpen EndClose EndOpen 通道工厂方法使用 打开通道有显示和隐式两种方式: Factory.Open(); //显示 Channel.DoSomething(); //隐式 两者区别在于显示打开会对通道的创建和管理拥有更多的控制权。使用完通道工厂要使用factory.close(). CreateChannel方法 该方法为特定的端点创建特定的通道。 客户端ChannelFactory—示例 将WCF服务WcfService5_1发布到IIS,虚拟目录为wcf。 创建客户端应用程序,使用ChannelFactory类。 using System.ServiceModel; using WcfService5_1 ; 客户端按钮单击事件的代码: 详细步骤见练习文档:WCF-第7章练习.doc 客户端通信模式——单向 单向通信就是指通信只在一个方向进行,即从客户端流向服务。 服务不会发送响应,客户端也不会期望会有响应。 客户端向服务发送消息,然后服务开始执行。 客户端通信模式——单向实现 对于单向通信,[OperationContract]的IsOneWay参数被设为true。 [ServiceContract] Public interface IServiceClass { [OperationContract(IsOneWay=true)] string InitiateOrder(); [OperationContract(IsOneWay=true)] BookOrder PlaceOrder(BookOrder request); } 客户端通信模式——请求-响应 请求-响应通信是指客户端向服务发送消息后,服务会向客户端发送响应。 客户端在接收到服务响应之前,客户端不会继续执行操作。 实现方法: [ServiceContract] Public interface
您可能关注的文档
- NOSA基本知识.ppt
- NOSA星级评审前主要工作计划.ppt
- ocp经验总结20110217.ppt
- OHSAS 18001_2007培训教材.ppt
- ok漂亮精选大气PPT幻灯片模板_2006毕业生就业工作学院基本情况.ppt
- Oracle 9i(第四讲).ppt
- Oracle9i第11章 事务和锁.ppt
- Oracle_CRM资料.ppt
- oracle_游标.ppt
- Oracle系统文件解释.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
原创力文档

文档评论(0)