【WCF】错误协定声明】的更多相关文章

WCF错误协定概述 在所有托管应用程序中,处理错误由 Exception 对象表示. 在基于 SOAP 的应用程序(如 WCF 应用程序)中,服务方法使用 SOAP 错误消息来传递处理错误信息. SOAP 错误是包括在服务操作元数据中的消息类型,因此会创建一个错误协定,客户端可使用该协定来使操作更加可靠或更具交互性. 此外,由于 SOAP 错误在客户端以 XML 格式表示,这是一种任何 SOAP 平台上的客户端都可以使用的具有极好的互操作性的类型系统,可增加 WCF 应用程序的适用范围. 由于…
在上一篇烂文中,老周给大伙伴们介绍了 IErrorHandler 接口的使用,今天,老周补充一个错误处理的知识点——错误协定. 错误协定与IErrorHandler接口不同,大伙伴们应该记得,上回我们是把自己实现IErrorHandler接口的类型添加到ChannelDispatcher中的,也就是说,IErrorHandler处理的是通道层的错误,它可以捕捉到多个服务操作上发生的错误.而错误协定是面向协定层的,它是通过 FaultContractAttribute 来声明的,这个特性在上一篇文…
最近折腾换电脑的事,博客就更新慢了点.好,不废话,直入正题. 前面老周介绍过,SOAP消息中的错误信息是用一个 Fault 元素来包装的,前面老周也讲了其中的 FaultCode 元素,即可以对错误信息进行标识.并且也提到了,Fault 元素下的 faultstring 元素就是 FaultReason 所指定的内容. 今天咱们再了解另一个包装元素——detail.可以把 FaultReason 理解为对错误信息的文本概述,而 detail 元素则可以用于错误的详细信息,该元素下面你可以自由地放…
前言: 在前面的文章中,我们定义服务协定时,在它的操作方法上都会加上OperationContract特性,此特性属于OperationContractAttribute 类,将OperationContract应用于方法,以指示该方法实现作为服务协定(由 ServiceContractAttribute 属性指定)一部分的服务操作.OperationContractAttribute 属性声明方法是服务协定中的操作. 只有具有 OperationContractAttribute 属性的方法可…
前言: 在前面的文章中,我们定义的服务协定上都会有一个ServiceContract的特性来修饰,这是因为服务契约的实现要靠ServiceContractAttribute 属性定义,然后使用一个或多个类(或接口)方法中的 OperationContractAttribute 属性定义协定的服务操作. 实现服务协定后并将其与WCF 绑定和 EndpointAddress 对象一起使用时,此服务协定将公开以供客户端使用. 公开的信息由 ServiceContractAttribute 表示,其接口…
介绍 WCF(Windows Communication Foundation) -异常处理:一般Exception的处理,FaultException和FaultException<T>的抛出和处理,使用IErrorHandler处理异常. 下面介绍第三种异常:FaultException<T>的抛出和处理 一.强类型化一个SOP错误类,传递需要用[DataContract] /// <summary> /// 错误信息实体类(用于错误契约FaultContract)…
WCF消息协定概述 在生成 WCF应用程序时,开发人员通常会密切关注数据结构和序列化问题,而不必关心携带数据的消息结构. 对于这些应用程序,为参数或返回值创建数据协定的过程很简单.但是,有时完全控制 SOAP 消息的结构与控制其内容一样重要. 当必须提供互操作性或需要在消息或消息部分级别特别控制安全问题时,更是如此. 在这些情况下,您可以创建消息协定 ,使您可以指定所需的精确的 SOAP 消息的结构. 一般来说,定义消息的架构时使用数据协定就足够了.但是,有时必须精确控制如何到通过网络传输的 S…
问题描述 最近Windows打完补丁,原来部署在本机的WCF无法连接:出现如下WCF错误:由于目标计算机积极拒绝,无法连接:127.0.0.1:3456 解决方案 检查一下本机的服务:NetTcpActivator是否开启…
数据协定概念 “数据协定”是在服务与客户端之间达成的正式协议,用于以抽象方式描述要交换的数据. 也就是说,为了进行通信,客户端和服务不必共享相同的类型,而只需共享相同的数据协定. 数据协定为每一个做数据交换时需要被序列化的参数或者返回值做了精确定义. 数据协定特点 默认情况下, WCF使用称为数据协定序列化程序的序列化引擎对数据进行序列化和反序列化(与 XML 进行相互转换). 所有 .NET Framework 基元类型(如整型和字符串型)以及某些被视为基元的类型(如 DateTime 和 X…
KnownTypeAttribute 类概述 在数据到达接收终结点时,WCF 运行库尝试将数据反序列化为公共语言运行库 (CLR) 类型的实例.通过首先检查传入消息选择为反序列化而实例化的类型,以确定消息内容遵循的数据协定.然后反序列化引擎尝试查找实现与消息内容兼容的数据协定的 CLR 类型.反序列化引擎在此过程中允许的侯选类型集称为反序列化程序的“已知类型”集. 让反序列化引擎了解某个类型的一种方法是使用 KnownTypeAttribute.不能将属性应用于单个数据成员,只能将它应用于整个数…
本文参考自:http://www.cnblogs.com/wangweimutou/p/4422883.html,纯属读书笔记,加深记忆 一.服务协定简介: 1.WCF所有的服务协定层里面的服务接口,都有一个ServiceContract的特性修饰,服务接口里面的操作方法都有OperationContract特性修饰,why? (1).服务契约的实现要靠ServiceContractAttribute 属性定义 (2).服务契约方法的实现要靠 OperationContractAttribute…
今天学习WCF时用C#重写测试例子时,发生错误:由于目标计算机积极拒绝,无法连接.找了N久,网上也没有找到实际的解决方法.查看netstat -an发现当自承载宿主运行时,没有侦听配置的端口.开始总以为是配置问题.到最后终于开始怀疑是程序的问题. 最后检查程序发现, using (ServiceHost host = new ServiceHost(typeof(Artech.WcfServices.Services.CalculatorService  ))) { Console.WriteL…
在我们用WCF传输数据的时候,如果启用默认配置,传输的数据量过大,经常会出这个错误. WCF包含服务端与客户端,所以这个错误可能出现在服务端返回数据给客户端,或客户端传数据给服务端时. 1. 服务端返回数据给客户端报错 在客户端配置文件中,主要是配置maxReceivedMessageSize <system.serviceModel> <bindings> <basicHttpBinding> <binding name="ServiceProxyBi…
数据协定等效性特点概述 对于客户端要将某种类型的数据成功发送到服务,或者服务要将数据成功发送到客户端的情况,接收端上并不一定必须存在此发送数据类型. 唯一的要求是两种类型的数据协定应该等效. 要使数据协定等效,其命名空间和名称必须相同. 此外,某一端上的每个数据成员还必须在另一端上具有等效的数据成员.注意,数据协定名称和命名空间以及数据成员名称均区分大小写. 要使数据成员等效,其名称必须相同. 此外,它们还必须表示同一类型的数据,也就是说,其数据协定必须等效. 如果同一端(发送方或接收方)存在两…
在我们用WCF传输数据的时候,如果启用默认配置,传输的数据量过大,经常会出这个WCF:413 Request Entity Too Large的错误. WCF包含服务端与客户端,所以这个错误可能出现在服务端返回数据给客户端,或客户端传数据给服务端时. 一个简单的解决方案是:不管是服务端还是客户端,在web.config下 的system.serviceModel标签下方增加一个没有设置名字的Binding默认配置就行了. 具体配置如下: <system.serviceModel> <bi…
错误原因有三:超过最大接受的传输值 1.webconfig或者 app.config 文件中的binding 节点进行 配置 maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" 2.查询语句字段中是否有 大数据(Max类型)字段,查询字段不用使用 select *,写出具体查询的字段 3.为了预防DOS攻击,WC…
一.简介 1.在定义服务协定时,在它的操作方法上都会加上OperationContract特性,此特性属于OperationContractAttribute 类,将OperationContract应用于方法,以指示该方法实现作为服务协定(由 ServiceContractAttribute 属性指定)一部分的服务操作.OperationContractAttribute 属性声明方法是服务协定中的操作. 只有具有 OperationContractAttribute 属性的方法可作为服务操作…
问题描述: 今天在调用WCF服务时候出现了下面的错误. 原因: 调用服务的客户端ip设置成了固定ip.(至于固定ip为什么会导致这个错误,没能去研究) 解决方法: 将客户端ip设置成自动获取.…
wcf 不弹出错误提示,只显示“服务器处理请求时遇到错误.有关构造有效服务请求的内容,请参阅服务帮助页”,添加以下节点可以弹出错误提示. <serviceDebug includeExceptionDetailInFaults="true"/> <system.serviceModel> <behaviors> <serviceBehaviors> <behavior> <!-- 为避免泄漏元数据信息,请在部署前将以下值…
这个问题出现的原因是  调用wcf服务的时候传递的参数 长度太大   wcf数据传输采用的默认的大小是65535字节. ---------------------------------------------------------------------------------------------------------- 解决方法就是改服务端的webconfig文件  没改之前的文件内容如下 <?xml version="1.0" encoding="utf-…
解决办法:cmd netsh winsock reset 恢复网络编程接口…
WCF初探-1:认识WCF WCF初探-6:WCF服务配置 WCF初探-2:手动实现WCF程序 WCF初探-7:WCF服务配置工具使用 WCF初探-3:WCF消息交换模式之单向模式 WCF初探-8:WCF服务承载 (上) WCF初探-4:WCF消息交换模式之请求与答复模式  WCF初探-9:WCF服务承载 (下) WCF初探-5:WCF消息交换模式之双工通讯(Duplex) WCF初探-10:WCF客户端调用服务     WCF初探-11:WCF客户端异步调用服务  WCF初探-16:WCF数据…
先来说说SOAP消息中错误消息的包装结构,一条SOAP错误消息的大致形式如下: <s:Fault> <faultcode xmlns:a="me-cust-error">a:错误码</faultcode> <faultstring xml:lang="zh-CN">错误内容.</faultstring> …… </s:Fault> 首先是Fault元素,然后下面是错误消息相关联的子元素.在上一篇…
今天学习WCF分布式开发步步为赢系列的15节:错误契约(FaultContract)与异常处理(ExceptionHandle).本节内容作为WCF分布式开发的一个重要知识点,无论在学习还是项目中都应该有所了解.此前也和多位学习爱好者讨论过WCF异常处理的相关知识.这里就系统整理一下,共大家参考.同时也是对<WCF分布式开发步步为赢>系列文章的完善和补充.   本节主要涉及的知识点就是:[1].NET异常处理[2]WCF异常处理[3]错误契约[4]WCF异常处理扩展[5]示例代码分析,最后是[…
前面几篇烂文中所介绍到的错误方式,都是在操作协定的实现代码中抛出 FaultException 或者带泛型参数的detail方案,有些时候,错误的处理方法比较相似,可是要每个操作协定去处理,似乎也太麻烦,此时就应当考虑统一处理了. 在 System.ServiceModel.Dispatcher 命名空间下,有一个 IErrorHandler 接口,这个接口就是让我们统一处理错误的. 先来认识一下这个接口. public interface IErrorHandler { bool Handle…
初入职场,开始接触C#,开始接触WCF,那么从头开始学习吧,边学边补充. SOA Service-Oriented Architecture,面向服务架构,粗粒度.开放式.松耦合的服务结构,将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.接口采用中立的方式定义,独立于实现服务的硬件平台.操作系统和编程语言(跨平台). SOA既是一种编程方式,也是软件开发的一种架构方法,服务层是SOA的基础,核心是“服务”,本质就是将服务组合起来并对外提供接口.SOA架构的技术基…

WCF

--http://www.doc88.com/p-699300196010.html ---术语 WCF术语 消息(message) 消息是一个独立的数据单元,它可能由几个部分组成,包括消息正文和消息头.   服务(service) 服务是一个构造,它公开一个或多个终结点,其中每个终结点都公开一个或多个服务操作.   终结点(endpoint) 终结点是用来发送或接收消息(或同时执行这两种操作)的构造.终结点包括一个定义消息可以发送到的目的地的位置(地址).一个描述消息 应如何发送的通信机制规范…
Windows Communication Foundation (WCF) 具有一个 ASP.NET 兼容模式选项,用户使用此选项可以对 WCF 应用程序进行编程和配置,使其像 ASP.NET Web 服务一样,并且还可以模仿这些服务的行为.以下各部分基于使用这两种技术开发应用程序的要求来比较 ASP.NET Web 服务和 WCF. 数据表示形式 一般情况下,使用 ASP.NET 开发 Web 服务首先要定义服务要使用的任意复杂数据类型.ASP.NET 依赖于 XmlSerializer 将…
转:http://www.cnblogs.com/wengyuli/archive/2009/11/04/1595693.html MSDN上关于WCF给出如下注解: 设计 Windows Communication Foundation (WCF) 的目的是为分布式计算提供可管理的方法,提供广泛的互操作性,并为服务定位提供直接的支持. 说的很清楚,同一管理分布式通信,广泛的互操作,服务定位.这是WCF出现的目的. 说到底,微软还是想简化开发方法,(MSMQ).COM+.ASP.NET Web…
参考msdn library for WCF Windows Communication Foundation (WCF) 是用于构建面向服务的应用程序的框架. 借助 WCF,可以将数据作为异步消息从一个服务终结点发送至另一个服务终结点. 服务终结点可以是由 IIS 承载的持续可用的服务的一部分,也可以是应用程序中承载的服务. 终结点可以是从服务终结点请求数据的服务客户端. 简单消息可以是作为 XML 发送的单个字符或单个单词,复杂消息可以是二进制数据流. WCF 的功能 WCF 包括以下功能集…