WCF_Tag标签_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
当前位置:程序员俱乐部 >>Tag标签 >> WCF >>列表
· WCF初探-20:WCF错误协定发布时间:2015-04-27
WCF错误协定概述在所有托管应用程序中,处理错误由Exception对象表示。在基于SOAP的应用程序(如WCF应用程序)中,服务方法使用SOAP错误消息来传递处理错误信息。SOAP错误是包括在服务操作元数据中的消息类型,因此会创建一个错误协定,客户端可使用该协定来使操作更加可靠或更具交互性。此外,由于SOAP错误在客户端以XML格式表示,这是一种任何SOAP平台上的客户端都可以使用的具有极好的互操作性的类型系统,可增加WCF应用程序的适用范围。由于WCF应用程序在两种类型的错误系统下都可运行... 查看全文
· WCF初探-19:WCF消息协定发布时间:2015-04-24
WCF消息协定概述在生成WCF应用程序时,开发人员通常会密切关注数据结构和序列化问题,而不必关心携带数据的消息结构。对于这些应用程序,为参数或返回值创建数据协定的过程很简单。但是,有时完全控制SOAP消息的结构与控制其内容一样重要。当必须提供互操作性或需要在消息或消息部分级别特别控制安全问题时,更是如此。在这些情况下,您可以创建消息协定,使您可以指定所需的精确的SOAP消息的结构。一般来说,定义消息的架构时使用数据协定就足够了。但是,有时必须精确控制如何到通过网络传输的SOAP消息的结构... 查看全文
KnownTypeAttribute类概述在数据到达接收终结点时,WCF运行库尝试将数据反序列化为公共语言运行库(CLR)类型的实例。通过首先检查传入消息选择为反序列化而实例化的类型,以确定消息内容遵循的数据协定。然后反序列化引擎尝试查找实现与消息内容兼容的数据协定的CLR类型。反序列化引擎在此过程中允许的侯选类型集称为反序列化程序的“已知类型”集。让反序列化引擎了解某个类型的一种方法是使用KnownTypeAttribute。不能将属性应用于单个数据成员... 查看全文
数据协定等效性特点概述对于客户端要将某种类型的数据成功发送到服务,或者服务要将数据成功发送到客户端的情况,接收端上并不一定必须存在此发送数据类型。唯一的要求是两种类型的数据协定应该等效。要使数据协定等效,其命名空间和名称必须相同。此外,某一端上的每个数据成员还必须在另一端上具有等效的数据成员。注意,数据协定名称和命名空间以及数据成员名称均区分大小写。要使数据成员等效,其名称必须相同。此外,它们还必须表示同一类型的数据,也就是说,其数据协定必须等效。如果同一端(发送方或接收方)存在两种类型... 查看全文
数据协定概念“数据协定”是在服务与客户端之间达成的正式协议,用于以抽象方式描述要交换的数据。也就是说,为了进行通信,客户端和服务不必共享相同的类型,而只需共享相同的数据协定。数据协定为每一个做数据交换时需要被序列化的参数或者返回值做了精确定义。数据协定特点默认情况下,WCF使用称为数据协定序列化程序的序列化引擎对数据进行序列化和反序列化(与XML进行相互转换)。所有.NETFramework基元类型(如整型和字符串型)以及某些被视为基元的类型... 查看全文
· WCF初探-15:WCF操作协定发布时间:2015-04-15
前言:在前面的文章中,我们定义服务协定时,在它的操作方法上都会加上OperationContract特性,此特性属于OperationContractAttribute类,将OperationContract应用于方法,以指示该方法实现作为服务协定(由ServiceContractAttribute属性指定)一部分的服务操作。OperationContractAttribute属性声明方法是服务协定中的操作... 查看全文
· WCF初探-14:WCF服务协定发布时间:2015-04-14
前言:在前面的文章中,我们定义的服务协定上都会有一个ServiceContract的特性来修饰,这是因为服务契约的实现要靠ServiceContractAttribute属性定义,然后使用一个或多个类(或接口)方法中的OperationContractAttribute属性定义协定的服务操作。实现服务协定后并将其与WCF绑定和EndpointAddress对象一起使用时,此服务协定将公开以供客户端使用。公开的信息由ServiceContractAttribute表示,其接口与Web服务描述语言... 查看全文
前言:在WCF初探-5:WCF消息交换模式之双工通讯(Duplex)博文中,我讲解了双工通信服务的一个应用场景,即订阅和发布模式,这一篇,我将通过一个消息发送的例子讲解一下WCF客户端如何为双工服务创建回调对象。双工服务指定一个回调协定,客户端应用程序必须实现该协定以便提供一个该服务能够根据协定要求调用的回调对象。虽然回调对象不是完整的服务(例如,您无法使用回调对象启动一个通道),但是为了实现和配置,这些回调对象可以被视为一种服务。双工服务的客户端必须:实现一个回调协定类... 查看全文
· WCF初探-12:WCF客户端异常处理发布时间:2015-04-11
前言:当我们打开WCF基础客户端通道(无论是通过显式打开还是通过调用操作自动打开)、使用客户端或通道对象调用操作,或关闭基础客户端通道时,都会在客户端应用程序中出现异常。而我们知道WCF是基于网络的通讯服务,错误异常也是要基于消息传递的,在WCF中提供了一个错误消息处理的类FaultException。接下来,我们看一下如何使用它在客户端处理异常。WCF异常类型:意外异常:意外异常包括灾难性故障(如OutOfMemoryException)和编程错误... 查看全文
前言:在上一篇WCF初探-10:WCF客户端调用服务中,我详细介绍了WCF客户端调用服务的方法,但是,这些操作都是同步进行的。有时我们需要长时间处理应用程序并得到返回结果,但又不想影响程序后面代码部分的执行,这时我们就需要考虑使用异步的方式来调用服务。注意这里的异步是完全针对客户端而言的,与WCF服务契约的方法是否异步无关,也就是在不改变操作契约的情况下,我们可以用同步或者异步的方式调用WCF服务。WCF客户端异步调用服务方式:通过代理类异步调用服务。就需要通过使用事件驱动的异步调用模型... 查看全文
· WCF初探-10:WCF客户端调用服务发布时间:2015-04-08
创建WCF服务客户端应用程序需要执行下列步骤:获取服务终结点的服务协定、绑定以及地址信息使用该信息创建WCF客户端调用操作关闭该WCF客户端对象WCF客户端调用服务存在以下特点:服务和客户端使用托管属性、接口和方法对协定进行建模。若要连接客户端应用程序中的服务,则需要获取该服务协定的类型信息。通常,我们使用Svcutil.exe(ServiceModelMetadataUtilityTool)来完成,也可以直接在客户端项目上引用服务地址完成。它们会从服务中下载元数据... 查看全文
自从转移战场之后,比以前忙多了,博客也没能及时跟上,原本准备继续mvc系列,但是在那边技术比较陈旧还没能用得上,话说有3年没接触这玩意了,东西也都忘了差不多了,既然再次接触,我也就继续温习温习,记录下在用wcf的过程中走过的一些奇葩路,好了,这篇看看第一个问题。首先wcf中有一个概念叫做“服务是端点的集合”,也就是说你可以在app.config下的serviceModel中定义几个endpont,就比如下面的代码。那定义几个endpoint有什么好处呢... 查看全文
· wcf知识分享发布时间:2015-04-02
对于刚毕业的学生来说,找工作是一件很难的事情,但是我们如何拥有项目经验呢?刚开始我也不信,可自己根据http://url.cn/TgrIZT注册一下,然后通过这个网站获取了学习卡的用户名和密码之后,真的有200元抵用券到了自己的账户中,所以,我就买了一些课程,自从在北风网学习了一些课程之后,我感觉自己对于提成技能特别高,可能和自己刚刚毕业有关系,在学校每天都是理论知识,没有过多的时间,但是自从在北风网上学习了一些项目的知识之后,尤其和老师们一起做项目,我起初以为只是简单的视频教程... 查看全文
· WCF快速搭建Demo发布时间:2015-04-01
WCF快速搭建Demops:本Demo只是演示如何快速建立WCF1.首先完成IBLL、BLL、Model层的搭建,由于数据访问层不是重点,WCF搭建才是主要内容,所以本Demo略去数据访问层。新建BLL类库项目,添加UserInfo类如下:1namespaceModel2{3[DataContract]4publicclassUserInfo5{6[DataMember]7publicintId{get;set;}8[DataMember]9publicstringName{get;set;... 查看全文
· wcf学习之路发布时间:2015-04-01
刚开始我也不信,可自己根据http://url.cn/TgrIZT注册一下,然后通过这个网站获取了学习卡的用户名和密码之后,真的有200元抵用券到了自己的账户中,所以,我就买了一些课程,自从在北风网学习了一些课程之后,我感觉自己对于提成技能特别高,可能和自己刚刚毕业有关系,在学校每天都是理论知识,没有过多的时间,但是自从在北风网上学习了一些项目的知识之后,尤其和老师们一起做项目,我起初以为只是简单的视频教程,谁知道和培训机构一样,老师还可以给你解答问题,费用只相当于培训机构的10%... 查看全文
· WCF初探-9:WCF服务承载 (下)发布时间:2015-04-01
在WCF初探-8:WCF服务承载(上)中,我们对宿主的概念、环境、特点做了文字性的介绍和概括,接下来我们将通过实例对这几种寄宿方式进行介绍。为了更好的说明各寄宿环境特点,本实例采用Http和net.tcp两种服务通讯方式,同时寄宿在不同的宿主中。程序结构如下:服务契约的接口和实现代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.ServiceModel... 查看全文
· WCF初探-8:WCF服务承载 (上)发布时间:2015-03-30
任何一个程序的运行都需要依赖一个确定的进程中,WCF服务也不例外。如果使用WCF服务,我们就必须将服务承载于创建它并控制它的上下文和生存期的运行时环境中,承载服务环境的程序,我们称之为宿主。WCF服务可以在支持托管代码的任意Windows进程中运行。WCF提供了统一编程模型,用于生成面向服务的应用程序。此编程模型保持一致且独立于部署服务的运行时环境。实际上,这意味着不管使用什么宿主选项,服务的代码看起来都非常类似。这些宿主选项可以是控制台应用程序,也可以是服务器环境(如Internet信息服务... 查看全文
· WCF序列化发布时间:2015-03-26
在WCF中,提供了专门用来序列化和反序列操作的类,该类就是DataContractSerializer类。一般而言,WCF会自动选择使用DataContractSerializer来对可序列话数据契约进行序列化,不需要开发者直接调用。WCF除了支持DataContractSerializer类来进行序列化外,还支持另外两种序列化器,这两种序列化器分别为:XMLSerializer(定义在System.XML.Serializationnamespace... 查看全文
昨天发布了《WCF服务创建与使用(请求应答模式)》,今天继续学习与强化在双工模式下WCF服务创建与使用,步骤与代码如下。第一步,定义服务契约(ServiceContract),注意ServiceContract特性上需指定回调契约//服务契约usingSystem.ServiceModel;namespaceWcfServiceLibrary1{[ServiceContract(Namespace="http://www.zuowenjun.cn"... 查看全文
· WCF初探-6:WCF服务配置发布时间:2015-03-25
WCF服务配置是WCF服务编程的主要部分。WCF作为分布式开发的基础框架,在定义服务以及定义消费服务的客户端时,都使用了配置文件的方法。虽然WCF也提供硬编程的方式,通过在代码中直接设置相关对象的属性来完成服务端与客户端的配置,然而这种方式并不利于后期程序的更改和扩展。因此,配置文件给WCF程序编程带来了极大的便利性,通过配置文件配置服务,可提供在部署时而非设计时提供终节点和服务行为数据的灵活性。正因如此,WCF的框架有着极大的伸缩性和自定义性。WCF配置文件的结构如下图所示,包含3个部分... 查看全文