摘要:
上一篇我们主要讲述了构筑WCF的基础,即契约,包括数据契约、消息契约;以及在契约基础上的不同通信模型,包括单向通信,请求-回复通信、双工通信。其底层是通过WSDL描述服务终结点,XSD描述数据。定义在WSDL中的服务操作用来在运行时把收到的请求转发给正确的.NET类,定义在XSD中的XML文件在运行时被反序列化成.NET类型并发送给服务操作。而这一起提供了对服务实现中.NET类型的一种基于标准的实现。现在我们主要讲述WCF通信过程中的信道,即管道,就是消息在哪里发送/接受的。很多信道放到一起组成信道栈,信道栈是处理消息的分层通信展,相当于TCP/IP七层协议。[第1篇] 基础信道就是WCF应用 阅读全文
随笔档案-2011年6月25日
WCF 第三章 信道 总结
2011-06-25 07:37 by DanielWise, 1008 阅读, 收藏, 编辑
摘要:
信道栈是由一个或者多个信道组成用来处理消息的分层通信栈。信道可以是协议信道或者传输信道。传输信道位于信道栈的最底层用来在一个传输协议(比如,HTTP,TCP,MSMQ)上传输消息。协议信道(又名层次信道)通转发和修改消息来实现协议(安全,可信赖消息,事务,等等)。 信道工厂和信道监听器组成了发送消息和接收消息的基础。它们用来创建信道栈并把信道栈暴露给应用程序。 WCF在把信道模型细节从开发人员... 阅读全文
WCF 第三章 信道 ICommunicationObject
2011-06-25 07:35 by DanielWise, 2537 阅读, 收藏, 编辑
摘要:
ICommunicationObject 接口(查看列表3.8)是WCF中所有通信对象(信道,信道工厂,信道监听器,等等)的基础。打算创建自定义信道或者直接使用信道的开发人员需要了解这个接口。WCF中的通信对象需要实现一个特殊的状态机。状态机表示了所有通信对象的状态变化。这种情况就像其他通信对象(比如,套接字)所处理的那样。ICommunicationObject接口(还有与它相关联的方法,状态和事件)的目的是为了实现状态机。这允许WCF能够将按同样的方式处理通信对象,并让他们下层实现与抽象层分离。列表3.8 ICommunicationObject 接口using System;namesp 阅读全文
WCF 第三章 信道 操作契约和信道形状
2011-06-25 07:30 by DanielWise, 1125 阅读, 收藏, 编辑
摘要:
信道通过信道形状来完成它们所支持的多种类型消息交换模式。比如,一个基于Tcp的传输信道将会实现IInputChannel和IOutputChannel,因为这些通道都是固有单向的。其他的传输信道基于其他协议比如TCP可能需要实现多个信道形状。开发人员不直接与信道形状打交道。对应的,WCF选择一个服务的基于OperationContract的信道形状。表3.1列出了多个你可以在OperationContract上设置的影响信道形状结果的属性。注意大多数信道形状有一个无状态的(默认)和会话感知变量。会话感知信道从客户端传输一个识别标识给服务端。这可以用来维护客户端和服务端的状态。就像ASP.NET 阅读全文
WCF 第三章 信道形状
2011-06-25 07:20 by DanielWise, 1160 阅读, 收藏, 编辑
摘要:
WCF支持不同的消息交换模式:单向,双工和请求-回复。为了实现每种方式,WCF提供了10种不同的称作信道形状的接口。其中五个形状称作IOutputChannel, IInputChannel, IDuplexChannel, IRequestChannel和IReplyChannel.每个形状都有一个等效的支持会话的形状。它们包括IOutputSessionChannel, IInputSessionChannel, IDuplexSessionChannel, IRequestSessionChannel和IReplySessionChannel.这些接口在一个信道栈中实现了不同的消息交换模 阅读全文
WCF 第三章 信道
2011-06-25 07:11 by DanielWise, 1750 阅读, 收藏, 编辑
摘要:
信道就是WCF应用程序接收和发送所有信息的通道。它负责在一个持续的方式中准备并传输消息。信道是为传输,协议和消息交换定义的。信道被放到一起来创建信道栈。信道栈是处理消息的分层通信栈。比如,一个信道栈可以由一个TCP传输信道和一个事务协议信道组成。这样的一个信道栈允许使用在网络中的客户端和服务端之间使用TCP协议和事务流转来发送/接收消息。 信道栈的目标是把一条消息转成与发送方,接收方兼容的线上格式... 阅读全文