摘要:前端时间,使用VS2010引用服务工具生成WCF客户端代理类,但是无论如何更新WCF服务也好还是更新重启VS2010、机器也好,生成的代理类始终并非预料中的类。经过2个小时的排查,终于发现原来引用的中间类库导致的,暂时猜想可能是中间类库存在多个dll相互依赖导致的问题!最后拆分了中间类库发现解决了问题。
阅读全文
之乎者也,阿弥陀佛软件设计的原则就是,化繁为简,化难为易,把人的思维集中在简单的领域,然后通过有序的组合实现复杂的逻辑。 |
|
随笔分类 - WCF
摘要:前端时间,使用VS2010引用服务工具生成WCF客户端代理类,但是无论如何更新WCF服务也好还是更新重启VS2010、机器也好,生成的代理类始终并非预料中的类。经过2个小时的排查,终于发现原来引用的中间类库导致的,暂时猜想可能是中间类库存在多个dll相互依赖导致的问题!最后拆分了中间类库发现解决了问题。
阅读全文
摘要:WCF中的自定义集合类型,如果作为服务契约的一部分进行发布,必须要保证以下几点: 1.集合包含的类型必须使用[Serializable]和[DataContract]标记; 2.集合包含的类型属性必须使用 [DataMember]标记,并且,如果是属性(Property),必须要实现get和set; 3.集合类型必须使用[Serializable]和[CollectionDataContract]标记,以及[KnownType]标记指向集合包含的子类型; 4.集合类型必须实现IEnumerable<T>接口; 5.集合类型使用[DataMember]标记的IList将集合项向客户端
阅读全文
摘要:今天调试wcf服务无论如何总是提示:***套接字连接已中止。这可能是由于处理消息时出错或远程主机超过接收超时或者潜在的网络资源问题导致的调试调了半天终于找到问题所在:因为我们有个中间组件项目Common类库,引用了asp.net mvc 2.0 dll,而wcf服务引用了Common类库却没有引用asp.net mvc dll ,结果本地调试总是正确,而一发布到服务器WCF服务就报错!调试了半天终于解决,如果你也遇到类似的问题,也许你也犯了同样的错误。
阅读全文
摘要:WCF客户端和服务器端不在同一台机器上时,客户端调用服务器端会报如下错误:"服务器已拒绝客户端凭据"。解决办法:1、右击ServiceHost项目的App.config文件>>编辑WCF配置>>绑定>>右击:新建绑定配置,Name设为BindingBehaviorConfiguration;安全性:Mode设为None。这样在App.config文件中会生成如下代码:<bindings><netTcpBinding><bindingmaxBufferPoolSize="52428800"m
阅读全文
摘要:报错信息:远程服务器返回了意外响应: (400) Bad Request。经过几次调试,发现小数据量不会出现此错误,如何传输大数据量呢,经过网上搜索和几次测试发现,只要在服务端和客户端同时增大以下几个配置项。服务器端:<system.serviceModel><bindings><basicHttpBinding><bindingmaxBufferPoolSize="5242880000"maxBufferSize="655360000"maxReceivedMessageSize="655360000
阅读全文
摘要:XMLSerializer提到XMLSerializer,我想绝大多数人都知道这是asmx采用的Serializer。首先我们还是来看一个例子,通过比较Managed Type的结构和生成的XML的结构来总结这种序列化方式采用的是怎样的一种Mapping方式。和DataContractSerialzer Sample一样,我们要定义用于序列化对象所属的Type——XMLOrder和XMLProduct,他们和相面对应的DataContractOrder和DataContractProduct具有相同的成员。usingSystem;usingSystem.Collections.Generic;
阅读全文
摘要:SOA 和MessageWindows Communication Foundation (WCF) 是基于面向服务架构(Service Orientation Architecture——SOA)的一种理想的分布式技术(Distributed Technology), 相信在今后在建立基于SOA企业级别的解决方案和进行系统集成方面将会大有作为。一个基于SOA结构的互联系统(Connected System)通常由若干相互独立的子系统(Sub-System)组成,这些子系统可能一个独立的Application,也可能是由若干Application相互集成共同完成一组相关的任务的小系统。这些子系
阅读全文
摘要:本节继续学习WCF分布式开发步步为赢(7):WCF数据契约与序列化.数据契约是WCF应用程序开发中一个重要的概念,毫无疑问实现客户端与服务端数据契约的传递中序列化是非常重要的步骤。那么序列化是什么?为什么会有序列化机制?或者说它是为了解决什么问题?作用是什么?现有的.NET 序列化机制和WCF序列化机制有什么不同?我们在本节文章里都会详细介绍。本节结构:【0】数据契约【1】序列化基本概念【2】.NET 序列化机制【3】WCF序列化机制【4】代码实现与分析【5】总结。 下面我们正式进入今天的学习阶段,首先来介绍一下数据契约的概念:【0】数据契约(DataContract): 在WCF服务编程中.
阅读全文
摘要:1. WCF 基础之契约(Contract)契 约(Contract)是 WCF 的消息标准,告知客户端如何与服务器联系交互。契约是平台中立的,也就说我们可以使用其它平台(包括开发和系统平台)来调用服务。WCF 中包含 4 种契约,分别是用于定义服务操作(Operations)的 Service Contract,定义自定义数据结构的 Data Contract,定义错误异常的 *Fault Contract,以及直接控制消息格式的 Message Contract。它们算是WCF的核心之一,如果你要使用WCF,就需要了解他们。 Service contracts : 定义客户端可以使...
阅读全文
摘要:WCF 的配置文件并不复杂,相对于手工编写配置文件,我更倾向于使用 SDK 所附带的工具 —— "Service Configuration Editor"。使用这个工具,我们可以非常方便地创建或修改服务器和客户端的配置文件。 WCF 配置文件基本元素:WCF 的配置信息必须写在 App.config 或 Web.config 中,我觉得像 Remoting 那样可...
阅读全文
摘要:本帖介绍怎么在 WCF 中,在 Server-side 和 Client-side 之间,传递默认无法传输的 List<T>、List<自定义类> 等类型的对象,以及传递 Dictionary 等泛型 Collection 对象。本帖并无高来高去的高深技术,但版工我认为本帖的小技巧实用性很高,而且是每个学习 WCF 的人都一定会遇到的问题,因此斗胆将本文发在博客园首页。--...
阅读全文
|