
WCF
文章平均质量分 79
xufei96
SDET .net C#
展开
-
WCF牛刀小试
WCF牛刀小试1. 创建解决方案,结构如下:首先,简单说明下5个程序集的作用: WCFDataContracts 这是一个最底层的一个程序集,用于数据的序列化,格式化。这个程序集对于WCF来说不是必需的,该程序集成员需要用DataContract,DataMember特性标记。 WCFServiceContracts 如果程序中有用到DataContract,则该程序集将会调用到WCFDataContracts程序集。WCFServiceContracts主要用于提供一种契约,供Service,Clie原创 2011-02-15 21:58:00 · 366 阅读 · 0 评论 -
WCF技术内幕 第5章 (11)
EndpointAddress类型EndpointAddress类型有两种功能:它可以方便地保护目标地址的信息,它是一种序列化WS-Addressing终结点到Message中的方式。 EndpointAddress address1 = new EndpointAddress("http://www.andersoft.com/anders");原创 2013-03-14 16:13:05 · 478 阅读 · 0 评论 -
WCF技术内幕 第5章(总结)
原创 2013-03-14 16:47:35 · 449 阅读 · 0 评论 -
WCF技术内幕 第6章(6)
6.6 创建自定义通道创建基类型//Create base classusing System;using System.ServiceModel.Channels;namespace WCFChannelSample{ class DelegatorChannelBase : ChannelBase where TShape : class, I原创 2013-03-29 17:16:39 · 458 阅读 · 0 评论 -
WCF技术内幕 第6章(3)
Close和Abort方法CommunicationObject类型展示了可以销毁对象的方法。通常,Close和BeginClose方法可以以一种优雅的方式关闭CommunicationObject对象,而Abort方法则会立即关闭对象。Close方法包含一个异步的实现,而Abort方法则没有。Fault方法虽然保护方法Fault也是一种关闭CommunicationObject对原创 2013-03-29 10:23:34 · 501 阅读 · 0 评论 -
WCF技术内幕 第6章(5)
双工通道:IDuplexChannel双工消息交换模式允许发送者和接收者自由发送和接收消息。在双工消息交换模式中,发送和接收通道形状是相同的,因此,发送者和接收者实现了相同的接口。 public interface IDuplexChannel : IInputChannel, IOutputChannel, IChannel, ICommunicationObject {原创 2013-03-29 15:10:37 · 408 阅读 · 0 评论 -
WCF技术内幕 第6章(4)
请求/应答通道:IRequestChannel和IReplyChannel在请求/应答消息交换模式里,消息的参与者都要发送和接收消息。发送者发送消息给接收者,然后等待回复;接收者接收请求消息,然后发送一个回复消息。 public interface IRequestChannel : IChannel, ICommunicationObject { Endpo原创 2013-03-29 11:02:49 · 456 阅读 · 0 评论 -
WCF技术内幕 第6章(1)
通道用于发送和接收消息。通道负责传输工作和WS-×协议的实现,安全及事务处理。6.1 正确认识通道没有一个具体的,万能的通道类型。WCF类型系统包含许多通道类型的定义,并且每个通道类型的定义都有特定的目的。WCF类型系统也包含许多通道类型,它们是可靠性、事务处理和安全等高级特性的物理实现方式。通道是由通道工厂创建的。6.2 通道状态机System.ServiceModel.IC原创 2013-03-18 14:47:26 · 657 阅读 · 0 评论 -
WCF技术内幕 第7章(1)
第7章 通道管理器在WCF的类型系统中,通道工厂有其特殊的名字,这些名字与发送者和接收者的命名不同。在接收端,这些类型被称为通道侦听器。在发送端,这些类型被称为通道工厂。7.1 通道管理器的概念通道工厂会负责管理通道的工作,ChannelManagerBase类型就成为一个强制通道管理器实现通道状态机,实现查询机制,传递绑定超时属性给通道的简单方式。7.2 接收者:通道侦听器在原创 2013-04-01 14:36:13 · 446 阅读 · 0 评论 -
WCF技术内幕 第6章(2)
CommunicationObject子类型using System;using System.ServiceModel.Channels;namespace ConsoleApplication20{ class Program { static void Main(string[] args) { MyComm原创 2013-03-18 19:01:00 · 414 阅读 · 0 评论 -
WCF技术内幕 第8章(1)
第8章 绑定8.1 绑定对象模型绑定类型没有复杂的类型层次关系。实际上,绑定类型直接继承了object类型,并实现了IDefaultCommunicationTimeouts接口。Binding的Test方法Binding的CanBuildChannelFactory和CanBuildChannelListener用来测试Binding能否创建特定形状的通道工厂堆栈或通道侦听器堆栈原创 2013-04-02 13:57:05 · 439 阅读 · 0 评论 -
WCF技术内幕 第10章(1)
第10章 分发器和客户端 Dispatchers and Clients10.1 问自己的问题using System;using System.ServiceModel;using System.ServiceModel.Channels;namespace ConsoleApplication20{ class Program { static原创 2013-04-03 14:58:29 · 433 阅读 · 0 评论 -
WCF技术内幕 第9章(1)
第9章 契约9.1 契约的定义WCF契约是标注了特定属性的.net类型,而且这些被标注的类型定义可以用来产生符合行业标准的WSDL和XSD文档。WCF契约会把这些类型映射为服务、操作、消息和消息中的部分。WCF有5种类型的契约:服务契约、操作契约、数据契约、消息契约和错误契约。9.2 WCF契约剖析服务契约using System;using System.ServiceMo原创 2013-04-03 11:08:39 · 522 阅读 · 0 评论 -
WCF技术内幕 第2章 (2)
2.7 标记消息地址序列化地址到消息中也会改善处理效率,特别是当更高级的消息发行行为要实现时。 Http://anders.com/ReceiveService http://anders.com/SendService http://anders.com/ErrorService http://anders.com/Or原创 2013-01-10 16:29:34 · 504 阅读 · 0 评论 -
WCF技术内幕 第3章 (1)
第3章 消息交换模式、拓扑和编排3.1 消息交换模式消息交换模式是“描述消息参与者之间交换消息的模板”。在面向服务的世界里通常有三种类型的消息交换模式:数据报,请求/应答和双工。数据报交换模式数据报消息交换模式表示一个单向的消息发送,或者即发即弃的消息发送。如果需要应答数据报,就需要发送者和接收者之间建立一个新的连接来应答数据报。数据报消息交换模式使用WSDL语言描原创 2013-01-14 17:26:06 · 643 阅读 · 0 评论 -
WCF技术内幕 第4章 (1)
第4章 WCF 1014.1 WCF快速启动定义服务契约契约表示消息应用系统外形的主要方式。外形,是指服务展示的操作,操作生成、使用的消息Schema和每个操作实现的消息交换模式。using System.ServiceModel;namespace WCFServices{ [ServiceContract] public interface IHell原创 2013-01-16 14:38:26 · 648 阅读 · 0 评论 -
WCF技术内幕 第5章 (10)
WS-Addressing终结点规范WS-Addressing为SOAP消息提供了一种统一的、标准化的寻址方式,这个标准的核心之一就是终结点规范。MessageHeader类型是对SOAP消息头块的CLR抽象,可以假定MessageHeader对象是对Endpoint参考规范的CLR抽象。IsReferenceParameter只读属性表示MessageHeader对象是否为一个WS-原创 2013-02-27 13:38:59 · 417 阅读 · 0 评论 -
WCF技术内幕 第5章 (9)
5.8 Message状态Message通过State属性管理Message对象上方法调用的顺序。using System;namespace System.ServiceModel.Channels{ // Summary: // Specifies the status of a message. public enum MessageState原创 2013-02-25 17:48:21 · 410 阅读 · 0 评论 -
WCF技术内幕 第1章
第1章 蓝月亮互联:在系统A里能知道系统B的东西。1.2 普遍概念Internet通信关注于传输的数据,而不是特定的类型系统、操作系统或平台。JSON(JavaScript Object Notation):一种轻量级的数据交换格式。1.4 介绍WCF分布式应用需要频繁地跨进程边界通信。分布式应用同样需要托管(宿主,比如IIS,Windows NT服务)。.Net Fr原创 2013-01-09 12:13:50 · 757 阅读 · 1 评论 -
WCF技术内幕 第5章 (4)
对象序列化图 Message message1 = Message.CreateMessage(MessageVersion.Soap12WSAddressing10, "urn:SomeAction", "Hello Anders~"); Console.WriteLine(message1.ToString()); //原创 2013-01-22 15:28:24 · 496 阅读 · 0 评论 -
WCF技术内幕 第2章 (1)
第2章 面向对象2.1 快速定义面向服务面向服务是一种分布式应用组件通过消息和契约实现松耦合的架构风格.面向服务的应用是通过契约描述它们交互中使用的信息。这些契约必须使用一种语言描述,并且它的格式能够被其他应用简单地理解,因此可以减少组件实现带来的依赖性。2.2 理解消息面向服务的消息也是一个抽象实体:它可以包含任何数据,可以使用许多不同的方式编码,并且可以关联到虚拟东西,甚至是其原创 2013-01-09 16:16:22 · 572 阅读 · 0 评论 -
WCF技术内幕 第5章 (6)
使用BodyWriter把数据放进MessageCreateMessage其中一种重载方法允许调用者使用System.ServiceModel.Channels.BodyWriter把数据推送到Message里。using System;using System.IO;using System.ServiceModel.Channels;using System.Text;us原创 2013-01-24 16:50:05 · 419 阅读 · 0 评论 -
WCF技术内幕 第5章 (7)
Message和SOAP FaultSOAP Fault是SOAP消息的一种形式,用来表示错误信息。Message是对SOAP消息的CLR抽象,可以表示SOAP Fault,如它可以表示一个SOAP消息一样。SOAP1.2规定SOAP Fault必须包含Code和Reason以及可选的Node、Role和Detail(详细信息)。Code是发生错误的标识符,也允许使用子节点表示粒度更细原创 2013-01-28 11:54:57 · 462 阅读 · 0 评论 -
WCF技术内幕 第5章 (8)
5.5 Buffered vs Streamed 消息假设当程序接收到一个Message时,它已经知道了整个Message,这种方式成为缓存模式(buffering)。与之相对的就是流处理模式。在WCF里,Message的消息头块通常是缓存起来的,消息内容可以采用buffered或streamed模式。缓存区的消息模式为64kb,如果消息体是streamed模式,它的大小就是无限制的。小的原创 2013-01-28 13:36:45 · 445 阅读 · 0 评论 -
WCF技术内幕 第3章 (2)
请求/应答消息交换模式请求/应答和WSDL代码里的wsdl:input和wsdl:output元素的顺序暗示了在一个应答消息发送以前,请求消息必须先被接收。请求/应答和WCF契约WCF操作契约默认使用请求/应答消息交换模式。任何WCF认为可序列化的类型都可以指定为一个返回类型。//契约using System.ServiceModel;namespace原创 2013-01-14 18:52:06 · 472 阅读 · 0 评论 -
WCF技术内幕 第3章 (4)
3.2 消息拓扑消息拓扑描述的是在一个或多个发送者和接收者之间如何发送消息。可能存在有无数种拓扑结构,但是通常接收的分类有4个:点对点,数据报点对点,消息转发代理和对等网络(p2p)。点对点 point-to-point点对点拓扑是指一个发送者和一个接收者交换消息。这个消息交换可以使用数据报,请求/应答或双工消息交换模式实现。只进点对点 forward-on原创 2013-01-15 18:31:38 · 447 阅读 · 0 评论 -
WCF技术内幕 第3章 (3)
双工消息交换模式 Duplex MEP双工是指同时发送和接收消息。双工消息交换模式定义了一个允许接收者和发送者同时发送消息的操作集合,反之亦然。双工消息交换模式与WSDL与双工消息交换模式相关的WSDL包含两个操作:一个操作(SomeOperation)表示消息发送给接收者,另外一个操作(SomeCallbackOperation)表示消息从接收者回发给发送者。原创 2013-01-15 16:11:27 · 389 阅读 · 0 评论 -
WCF技术内幕 第4章 (2)
暴露元数据在大部分现实世界的应用系统里,有这样一个需求,即发送者询问接收者的终结点并提取元数据,然后使用这些元数据构建能发送给接收终结点消息的基础结构。如果决定暴露系统的元数据,可以构建一个暴露元数据的终结点,而构建元数据终结点的方式和其他终结点非常相似:使用地址,绑定和契约(ABC)。using System;using System.ServiceModel;using Sys原创 2013-01-17 15:06:00 · 484 阅读 · 0 评论 -
WCF技术内幕 第4章 (3)
4.2 从外部剖析WCF地址WCF接收基础结构依赖System.Uri类型去创建接收终结点。WCF发送基础结构依赖System.ServiceModel.EndpointAddress类型发送消息给最终接收者。绑定绑定是表示消息应用如何处理、发送和接收消息的主要方式。更确切地说,它是表示传输、WS-*协议、安全需求、事务需求和终结点的主要方式。WCF包含9种覆盖传输、WS-*协原创 2013-01-17 17:41:57 · 420 阅读 · 0 评论 -
WCF技术内幕 第5章 (3)
使用XmlDictionary using (MemoryStream stream = new MemoryStream()) { XmlDictionary xd =new XmlDictionary(); List stringList = new List();原创 2013-01-22 14:29:51 · 547 阅读 · 0 评论 -
WCF技术内幕 第5章 (5)
5.4 创建消息简要介绍Message的序列化和反序列化当发送程序需要发送一个Message到另一个消息参与者时,它必须创建包含适当信息的Message对象,然后序列化和编码Message到Stream或Byte里,最后发送Stream或Byte到目的地。当接收程序收到Message时,一般来说,它还是Stream或Byte状态(和发送者最后处理的状态一样)。接收程序必须解码和反序列化st原创 2013-01-22 16:16:42 · 471 阅读 · 0 评论 -
WCF技术内幕 第4章 (4)
契约契约定义了程序中的终结点,终结点使用的消息交换模式和终结点处理的消息结构。WCF里定义了三种契约类型:服务契约、数据契约和消息契约。服务契约描述了终结点的操作。描述包含名称、消息交换模式、会话规范信息、请求和响应的消息头、每个操作的安全信息。数据契约是映射消息体到一个或多个操作。消息契约映射消息和消息头到一个或多个操作。服务契约服务契约是一个被ServiceContra原创 2013-01-21 14:50:31 · 382 阅读 · 0 评论 -
WCF技术内幕 第5章 (1)
第5章 消息抽象类型System.ServiceModel.Channels.Message是Microsoft WindowsCommunication Foundation(WCF)里通信的基本单位。虽然代码没有直接与Message对象交互,但WCF基础结构也在背后忙于创建、发送、接收或其他处理Message对象的工作。5.1 Message类型介绍Message引用类型是原创 2013-01-21 16:09:37 · 387 阅读 · 0 评论 -
WCF技术内幕 第5章 (2)
XMLDictionaryWriter类型XMLDictionaryWriter类型是用来序列化和编码Message类型的。创建XmlDictionaryWriter对象CreateDictionaryWriter MemoryStream stream=new MemoryStream(); XmlWriter xmlWrit原创 2013-01-22 13:33:31 · 446 阅读 · 0 评论