摘要: 理解WCF中的并发机制 在对WCF并发机制进行理解时,必须对WCF初探-27:WCF中的实例化进行理解,因为WCF中的并发特点是伴随着服务实例上下文实现的。WCF的实例上下文模型可以通过InstanceContext的属性来进行设置,WCF中的并发就是指一个实例上下文处理请求消息的能力,当需要在一个 阅读全文
posted @ 2020-07-15 16:49 Linybo2008 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 理解WCF中的实例化机制 “实例化”是指对用户定义的服务对象以及与其相关的 InstanceContext 对象的生存期的控制。也就是说我们的客户端程序在调用服务端方法时,需要实例化一个服务端代理类对象,实例化就是对这个对象的生命周期的管理(比如:代理服务对象的创建,对象调用服务端方法后需要对其进行 阅读全文
posted @ 2020-07-15 16:47 Linybo2008 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 理解WCF中的会话机制 在WCF应用程序中,会话将一组消息相互关联,从而形成对话。会话”是在两个终结点之间发送的所有消息的一种相互关系。当某个服务协定指定它需要会话时,该协定会指定所有调用(即,支持调用的基础消息交换)必须是同一对话的一部分。如果某个协定指定它允许使用会话但不要求使用会话,则客户端可 阅读全文
posted @ 2020-07-15 16:45 Linybo2008 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 前言 在上一篇WCF序列化和反序列化中,文章介绍了WCF序列化和反序列化的机制,虽然WCF针对序列化提供了默认的DataContractSerializer序列化引擎,但是WCF还支持其他的序列化引擎,那就是XmlSerializer序列化引擎。本文将详细介绍XmlSerializer类在WCF中具 阅读全文
posted @ 2020-07-15 16:44 Linybo2008 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 前言 WCF包含很多封装的内部机制,这些是我们在编写程序时不会经常看到的。比如上一篇讲解的Message。这一篇我将讲解WCF的另一种内部机制,WCF的序列化和反序列化。通常我们在编写WCF服务程序的时候,我们并没有手动对WCF的数据传递做序列化和反序列化的操作,这是因为WCF默认通过序列化引擎Da 阅读全文
posted @ 2020-07-15 16:42 Linybo2008 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 前言 在上一篇WCF中使用Message类(上)中,文章介绍了WCF中使用Message类的基本知识和怎样创建消息,本文是承接上一篇文章,如果想要更好的阅读本文,请先阅读上一篇文章。在这篇文章中,我将介绍怎样来操作消息。 从WCF中使用Message类(上)中,我们知道了消息的基本结构,针对不同的情 阅读全文
posted @ 2020-07-15 16:41 Linybo2008 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 前言 从我们学习WCF以来,就一直强调WCF是基于消息的通信机制。但是由于WCF给我们做了高级封装,以至于我们在使用WCF的时候很少了解到消息的内部机制。由于WCF的架构的可扩展性,针对一些特殊情况,WCF为我们提供了Message类来深度定制消息结构,以便我们拓展WCF的通信机制。 在之前的文章中 阅读全文
posted @ 2020-07-15 16:40 Linybo2008 阅读(291) 评论(0) 推荐(0) 编辑
摘要: WCF终结点概述 在之前文章的示例中,我们都是通过配置服务的终结点(endpoint)发布的服务,供客户端调用,这是因为WCF服务的所有通信都是通过该服务的终结点进行的。每个终结点(endpoint)包含四个属性。 一个指示可以查找终结点的位置的地址。 一个指定客户端如何与终结点进行通信的绑定。 一 阅读全文
posted @ 2020-07-15 16:39 Linybo2008 阅读(411) 评论(0) 推荐(0) 编辑
摘要: WCF错误协定概述 在所有托管应用程序中,处理错误由 Exception 对象表示。 在基于 SOAP 的应用程序(如 WCF 应用程序)中,服务方法使用 SOAP 错误消息来传递处理错误信息。 SOAP 错误是包括在服务操作元数据中的消息类型,因此会创建一个错误协定,客户端可使用该协定来使操作更加 阅读全文
posted @ 2020-07-15 16:38 Linybo2008 阅读(180) 评论(0) 推荐(0) 编辑
摘要: WCF消息协定概述 在生成 WCF应用程序时,开发人员通常会密切关注数据结构和序列化问题,而不必关心携带数据的消息结构。 对于这些应用程序,为参数或返回值创建数据协定的过程很简单。但是,有时完全控制 SOAP 消息的结构与控制其内容一样重要。 当必须提供互操作性或需要在消息或消息部分级别特别控制安全 阅读全文
posted @ 2020-07-15 16:37 Linybo2008 阅读(166) 评论(0) 推荐(0) 编辑
摘要: KnownTypeAttribute 类概述 在数据到达接收终结点时,WCF 运行库尝试将数据反序列化为公共语言运行库 (CLR) 类型的实例。通过首先检查传入消息选择为反序列化而实例化的类型,以确定消息内容遵循的数据协定。然后反序列化引擎尝试查找实现与消息内容兼容的数据协定的 CLR 类型。反序列 阅读全文
posted @ 2020-07-15 16:35 Linybo2008 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 数据协定等效性特点概述 对于客户端要将某种类型的数据成功发送到服务,或者服务要将数据成功发送到客户端的情况,接收端上并不一定必须存在此发送数据类型。 唯一的要求是两种类型的数据协定应该等效。 要使数据协定等效,其命名空间和名称必须相同。 此外,某一端上的每个数据成员还必须在另一端上具有等效的数据成员 阅读全文
posted @ 2020-07-15 16:34 Linybo2008 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 数据协定概念 “数据协定”是在服务与客户端之间达成的正式协议,用于以抽象方式描述要交换的数据。 也就是说,为了进行通信,客户端和服务不必共享相同的类型,而只需共享相同的数据协定。 数据协定为每一个做数据交换时需要被序列化的参数或者返回值做了精确定义。 数据协定特点 默认情况下, WCF使用称为数据协 阅读全文
posted @ 2020-07-15 16:32 Linybo2008 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 前言: 在前面的文章中,我们定义服务协定时,在它的操作方法上都会加上OperationContract特性,此特性属于OperationContractAttribute 类,将OperationContract应用于方法,以指示该方法实现作为服务协定(由 ServiceContractAttrib 阅读全文
posted @ 2020-07-15 16:30 Linybo2008 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 前言: 在前面的文章中,我们定义的服务协定上都会有一个ServiceContract的特性来修饰,这是因为服务契约的实现要靠ServiceContractAttribute 属性定义,然后使用一个或多个类(或接口)方法中的 OperationContractAttribute 属性定义协定的服务操作 阅读全文
posted @ 2020-07-15 16:02 Linybo2008 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 前言: 在WCF初探-5:WCF消息交换模式之双工通讯(Duplex)博文中,我讲解了双工通信服务的一个应用场景,即订阅和发布模式,这一篇,我将通过一个消息发送的例子讲解一下WCF客户端如何为双工服务创建回调对象。 双工服务指定一个回调协定,客户端应用程序必须实现该协定以便提供一个该服务能够根据协定 阅读全文
posted @ 2020-07-15 15:59 Linybo2008 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 前言: 当我们打开WCF基础客户端通道(无论是通过显式打开还是通过调用操作自动打开)、使用客户端或通道对象调用操作,或关闭基础客户端通道时,都会在客户端应用程序中出现异常。而我们知道WCF是基于网络的通讯服务,错误异常也是要基于消息传递的,在WCF中提供了一个错误消息处理的类FaultExcepti 阅读全文
posted @ 2020-07-15 15:57 Linybo2008 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 前言: 在上一篇WCF初探-10:WCF客户端调用服务 中,我详细介绍了WCF客户端调用服务的方法,但是,这些操作都是同步进行的。有时我们需要长时间处理应用程序并得到返回结果,但又不想影响程序后面代码部分的执行,这时我们就需要考虑使用异步的方式来调用服务。注意这里的异步是完全针对客户端而言的,与WC 阅读全文
posted @ 2020-07-15 15:46 Linybo2008 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 创建WCF 服务客户端应用程序需要执行下列步骤: 获取服务终结点的服务协定、绑定以及地址信息 使用该信息创建 WCF 客户端 调用操作 关闭该 WCF 客户端对象 WCF客户端调用服务存在以下特点: 服务和客户端使用托管属性、接口和方法对协定进行建模。 若要连接客户端应用程序中的服务,则需要获取该服 阅读全文
posted @ 2020-07-15 15:42 Linybo2008 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 在WCF初探-8:WCF服务承载 (上)中,我们对宿主的概念、环境、特点做了文字性的介绍和概括,接下来我们将通过实例对这几种寄宿方式进行介绍。为了更好的说明各寄宿环境特点,本实例采用Http和net.tcp两种服务通讯方式,同时寄宿在不同的宿主中。程序结构如下: 服务契约的接口和实现代码如下: us 阅读全文
posted @ 2020-07-15 15:40 Linybo2008 阅读(178) 评论(0) 推荐(0) 编辑