Welcome 微信登录

首页 / 软件开发 / WCF

WCF技术剖析之六

WCF技术剖析之六

WCF技术剖析之六2012-10-11 cnblogs Artech为什么在基于ASP.NET应用寄宿(Hosting)下配置的BaseAddress无效?本篇文章来源于几天前一个朋友向我咨询的问题。问题是这样的,他说他采用ASP.NET应用程序的方式对定义的WCF服务进行寄宿(Hosting),并使用配置的方式对服务的BaseAddress进行了设置,但是在创建ServiceHost的时候却抛出InvalidOperationException,并提示相...
WCF技术剖析之八:ClientBase<T>中对ChannelFactory<T>的缓存机制

WCF技术剖析之八:ClientBase&lt;T&gt;中对ChannelFactory&lt;T&gt;的缓存机制

WCF技术剖析之八:ClientBase<T>中对ChannelFactory<T>的缓存机制2012-10-11 cnblogs Artech和传统的分布式远程调用一样,WCF的服务调用借助于服务代理(Service Proxy)。而ChannelFactory<T>则是服务代理的创建者。WCF采用基于终结点(Endpoint)服务消费方式:WCF服务通过一个或者多个终结点暴露给潜在的服务消费者,服务的消费中通过与之匹...
WCF技术剖析之九:服务代理不能得到及时关闭会有什么后果?

WCF技术剖析之九:服务代理不能得到及时关闭会有什么后果?

WCF技术剖析之九:服务代理不能得到及时关闭会有什么后果?2012-10-17 博客园 Artech我们想对WCF具有一定了解的人都会知道:在客户端通过服务调用进行服务调用过程中,服务代理应该及时关闭。但是如果服务的代理不等得到及时的关闭,到底具有怎样的后果?什么要关闭服务代理?在任何时候都需要关闭服务代理吗?是否有一些例外呢?本篇文章将会围绕着这些问题展开。一、会话信道(Sessionful Channel) V.S. 数据报信道(Datagram Ch...
WCF技术剖析之十:调用WCF服务的客户端应该如何进行异常处理

WCF技术剖析之十:调用WCF服务的客户端应该如何进行异常处理

WCF技术剖析之十:调用WCF服务的客户端应该如何进行异常处理2012-10-17 博客园 Artech在前面一片文章(服务代理不能得到及时关闭会有什么后果?)中,我们谈到及时关闭服务代理(Service Proxy)在一个高并发环境下的重要意义,并阐明了其根本原因。但是,是否直接调用ICommunicationObject的Close方法将服务代理关闭就万事大吉了呢?事情远不会这么简单,这其中还会涉及关于异常处理的一些操作,这就是本篇文章需要讨论的话题。...
WCF技术剖析之十一:异步操作在WCF中的应用(上篇)

WCF技术剖析之十一:异步操作在WCF中的应用(上篇)

WCF技术剖析之十一:异步操作在WCF中的应用(上篇)2012-10-17 博客园 Artech按照操作执行所需的资源类型,我们可以将操作分为CPU绑定型(CPU Bound)操作和I/O绑定型(I/O Bound)操作。对于前者,操作的执行主要利用CPU进行密集的计算,而对于后者,大部分的操作处理时间花在I/O操作处理,比如访问数据库、文件系统、网络资源等。对于I/O绑定型操作,我们可以充分利用多线程的机制,让多个操作在自己的线程并发执行,从而提高系统性...
WCF技术剖析之十一:异步操作在WCF中的应用(下篇)

WCF技术剖析之十一:异步操作在WCF中的应用(下篇)

WCF技术剖析之十一:异步操作在WCF中的应用(下篇)2012-10-17 博客园 Artech说完了客户端的异步服务调用(参阅WCF技术剖析之十一:异步操作在WCF中的应用(上篇)),我们在来谈谈服务端如何通过异步的方式为服务提供实现。在定义服务契约的时候,相信大家已经注意到了OperationContractAttribute特性具有一个bool类型的AsynPattern。该属性可以将一个服务操作定义成异步实现模式,接下来的内容主要是着眼于介绍异步操...
WCF技术剖析之十二

WCF技术剖析之十二

WCF技术剖析之十二2012-10-23 cnblogs Artech数据契约(Data Contract)和数据契约序列化器(DataContractSerializer)大部分的系统都是以数据为中心的(Data Central),功能的实现表现在对相关数据的正确处理。而数据本身,是有效信息的载体,在不同的环境具有不同的表示。一个分布式的互联系统关注于数据的交换,而数据正常交换的根本前提是参与数据交换的双方对于数据结构的一致性理解。这就为数据的表现提出了...
WCF技术剖析之十三:序列化过程中的已知类型(Known Type)

WCF技术剖析之十三:序列化过程中的已知类型(Known Type)

WCF技术剖析之十三:序列化过程中的已知类型(Known Type)2012-10-23 cnblogs ArtechDataContractSerializer承载着所有数据契约对象的序列化和反序列化操作。在上面一篇文章(《数据契约(Data Contract)和数据契约序列化器(DataContractSerializer)》)中,我们谈到DataContractSerializer基本的序列化规则;如何控制DataContractSerializer...
WCF技术剖析之十四:泛型数据契约和集合数据契约(上篇)

WCF技术剖析之十四:泛型数据契约和集合数据契约(上篇)

WCF技术剖析之十四:泛型数据契约和集合数据契约(上篇)2012-10-25 博客园 Artech在.NET Framework 2.0中,泛型第一次被引入。我们可以定义泛型接口、泛型类型、泛型委托和泛型方法。序列化依赖于真实具体的类型,而泛型则刻意模糊了具体类型概念。而集合代表一组对象的组合,集合具有可迭代(Enumerable)的特性,可以通过某个迭代规则遍历集合中的每一个元素。由于范型类型和集合类型在序列化和反序列化上具有一些特殊的行为和规则,在这篇...
WCF技术剖析之十四:泛型数据契约和集合数据契约(下篇)

WCF技术剖析之十四:泛型数据契约和集合数据契约(下篇)

WCF技术剖析之十四:泛型数据契约和集合数据契约(下篇)2012-10-25 博客园 Artech在.NET中,所有的集合都实现了IEnumerable接口,比如Array、Hashtable、ArrayList、Stack、Queue等。有的集合要求元素具有相同的类型,这种集合一般通过泛型的方式定义,它们实现另一个接口IEnumerable<T>(IEnumerable<T>本身继承自IEnumerable),这样的集合有List...
WCF技术剖析之十五:数据契约代理(DataContractSurrogate)在序列化中的作用

WCF技术剖析之十五:数据契约代理(DataContractSurrogate)在序列化中的作用

WCF技术剖析之十五:数据契约代理(DataContractSurrogate)在序列化中的作用2012-11-03 cnblogs Artech如果一个类型,不一定是数据契约,和给定的数据契约具有很大的差异,而我们要将该类型的对象序列化成基于数据契约对应的XML。反之,对于一段给定的基于数据契约的XML,要通过反序列化生成该类型的对象,我们该如何实现这样的场景?比如下面定义了两个类型Contact和Customer,其中Customer是数据契约,Con...
WCF技术剖析之十六:数据契约的等效性和版本控制

WCF技术剖析之十六:数据契约的等效性和版本控制

WCF技术剖析之十六:数据契约的等效性和版本控制2012-11-03 博客园 Artech数据契约是对用于交换的数据结构的描述,是数据序列化和反序列化的依据。在一个WCF应用中,客户端和服务端必须通过等效的数据契约方能进行有效的数据交换。随着时间的推移,不可避免地,我们会面临着数据契约版本的变化,比如数据成员的添加和删除、成员名称或者命名空间的修正等,如何避免数据契约这种版本的变化对客户端现有程序造成影响,就是本节着重要讨论的问题。一、数据契约的等效性数据...
WCF技术剖析之十七:消息(Message)详解(上篇)

WCF技术剖析之十七:消息(Message)详解(上篇)

WCF技术剖析之十七:消息(Message)详解(上篇)2012-11-05 博客园 Artech消息交换是WCF进行通信的唯一手段,通过方法调用(Method Call)形式体现的服务访问需要转化成具体的消息,并通过相应的编码(Encoding)才能通过传输通道发送到服务端;服务操作执行的结果也只能以消息的形式才能被正常地返回到客户端。所以,消息在整个WCF体系结构中处于一个核心的地位,WCF可以看成是一个消息处理的管道。尽管消息在整个WCF体系中具有如...
WCF技术剖析之十七:消息(Message)详解(中篇)

WCF技术剖析之十七:消息(Message)详解(中篇)

WCF技术剖析之十七:消息(Message)详解(中篇)2012-11-05 博客园 Artech在上篇中大体上围绕着Message的两个话题进行讲述:消息版本(Message Version)和采用五种不同的方式创建Message。本篇文章将会详细介绍Message的另外两个主题:和消息的基本操作,比如读、写、拷贝、关闭等,以及消息状态机(Message State Machine)。知道了消息是如何创建的,我们接着讨论消息的一些基本的操作。除了上面介绍...
WCF技术剖析之十七:消息(Message)详解(下篇)

WCF技术剖析之十七:消息(Message)详解(下篇)

WCF技术剖析之十七:消息(Message)详解(下篇)2012-11-05 博客园 Artech《WCF技术剖析(卷1)》自出版近20天以来,得到了园子里的朋友和广大WCF爱好者的一致好评,并被卓越网计算机书店作为首页推荐,在这里对大家的支持表示感谢。同时我将一直坚持这个博文系列,与大家分享我对WCF一些感悟和学习经验。在《消息(Message)详解》系列的上篇和中篇,先后对消息版本、详细创建、状态机和基于消息的基本操作(读取、写入、拷贝、关闭)进行了深...
WCF技术剖析之十八:消息契约(Message Contract)和基于消息契约的序列化

WCF技术剖析之十八:消息契约(Message Contract)和基于消息契约的序列化

WCF技术剖析之十八:消息契约(Message Contract)和基于消息契约的序列化2012-11-07 博客园 Artech在本篇文章中,我们将讨论WCF四大契约(服务契约、数据契约、消息契约和错误契约)之一的消息契约(Message Contract)。服务契约关注于对服务操作的描述,数据契约关注于对于数据结构和格式的描述,而消息契约关注的是类型成员与消息元素的匹配关系。我们知道只有可序列化的对象才能通过服务调用在客户端和服务端之间进行传递。到目前...
WCF技术剖析之十九:深度剖析消息编码(Encoding)实现(上篇)

WCF技术剖析之十九:深度剖析消息编码(Encoding)实现(上篇)

WCF技术剖析之十九:深度剖析消息编码(Encoding)实现(上篇)2012-11-07 博客园 Artech消息作为WCF进行通信的唯一媒介,最终需要通过写入传输层进行传递。而对消息进行传输的一个前提或者是一项必不可少的工作是对消息进行相应的编码。WCF提供了一系列可供选择的编码方式,它们分别在互操作和性能各具优势。在本篇文章我们将对各种编码方式进行消息的讨论。从互操作性的角度来看,编码方法很大程度上决定了跨平台支持的能力。有的编码方式是平台无关的,有...
WCF技术剖析之十九:深度剖析消息编码(Encoding)实现(下篇)

WCF技术剖析之十九:深度剖析消息编码(Encoding)实现(下篇)

WCF技术剖析之十九:深度剖析消息编码(Encoding)实现(下篇)2012-11-07 博客园 Artech通过上篇的介绍,我们知道了WCF所有与编码与解码相关的功能都实现在相应的System.Xml.XmlDictionaryWriter和System.Xml.XmlDictionaryReader中。但是在真正的WCF处理框架中,却并不直接使用XmlDictioanryWriter和XmlDictionaryReader对象,而通过相应的消息编码器...
WCF技术剖析之二十: 服务在WCF体系中是如何被描述的?

WCF技术剖析之二十: 服务在WCF体系中是如何被描述的?

WCF技术剖析之二十: 服务在WCF体系中是如何被描述的?2012-11-11 博客园 Artech任何一个程序都需要运行于一个确定的进程中,进程是一个容器,其中包含程序实例运行所需的资源。同理,一个WCF服务的监听与执行同样需要通过一个进程来承载。我们将为WCF服务创建或指定一个进程的方式称为服务寄宿(Service Hosting)。服务寄宿的本质通过某种方式,创建或者指定一个进程用以监听服务的请求和执行服务操作,为服务提供一个运行环境。服务寄宿的方式...
<< 11 12 13 14 15 16 17 18 19 20 >>