Develop every application as an art using the most suitable technologies!
2007.10-2008.9: Solutions Architect
2008.10-2009.9: Connected System
本blog原创文字(标明[原创]字样)只代表本人某一时间内的观点或结论,与本人所在公司没有任何关系。第三方若用于商业用途的转载,须取得本人授权。一般的引用、转载请标明出处!
Data Contract for Collection 我们照例用例子来说明问题,在这里我们创建一个批量处理Order的Service,于是我们创建了一个OrderCollection Type:
下面是Service Contract的定义:
面是OrderCollection 在XSD中的呈现:
加上通过Add Service Reference默认生成的Class,我们可以很清楚地看出Collection是以Array的形式呈现的(Artech.SpecialDataContract.Client.OrderManagerService.Order[] orders):
因为Array相对很Common的数据类型,基本上所有的厂商均提供了对Array的支持,这也是WCF在通过Add Service Reference生成Client端代码的时候,会生成Array的原因。不过并不是我们只有唯一的选择,事实上VS为此提供了扩展,允许我们对于基于Collection 的Data Contract生成我们需要的各种类型,我们只需要在Add Service Reference的时候选择“Configure Service Reference”进行相应的配置:
通过上面的截图,我们发现在Collection Type一项我们有若干选项,我们可以选择我们希望生成的数据类型:Array,ArrayList,LinkedList,Generic List,Collection和BindingList。
Data Contract for Dictionary
前面的内容,我们分别讨论了基于Generic和Collection的Data Contract,接下来,我们来讨论最后一个特殊的数据类型的Data Contract:Dictionary。
延续上面的Order Batch Processing的例子,不过我们现在处理的不是一个OrderCollection对象,而是一个Dictionary对象,线面是Service Contract和Order的定义:
闲话少说,我们来看XSD:
Data Contract的名称为ArrayOfKeyValueOfguidOrder_SkVQi6O3=ArrayOfKeyValueOf+guid(Key的类型)+Order(Value)+_SkVQi6O3(Hash Value)。从该XSD的结构我们不难看出,只是一个数组,每个元素为Key-Value pair。
我们照例看看通过Add Service Reference方式生成的Client端code中的对应的定义:
生成的是一个System.Collections.Generic.Dictionary类型。同Collection一样,也依然可以有多种选择:
[原创]谈谈WCF中的Data Contract(1):Data Contract Overview [原创]谈谈WCF中的Data Contract(2):WCF Data Contract对Generic的支持 [原创]谈谈WCF中的Data Contract(3):WCF Data Contract对Collection & Dictionary的支持 [原创]谈谈WCF中的Data Contract(4):WCF Data Contract Versioning
posted on 2007-11-27 20:55 Artech 阅读(3252) 评论(9) 编辑 收藏 网摘 所属分类: J. WCF
辛苦了,我来顶一下.不错. 回复 引用
lz 更新真快 回复 引用 查看
毛主席的书,我爱读楼主的blog,我爱看:) 回复 引用
@idda你该不会随身携带《毛主席语录》吧^_^ 回复 引用 查看
我想在[OperationContract] 中返回一个dataset 用什么代替好?arraylist? Dictionary? 直接定义 [OperationContract] Dictionary GetMyTask(string UserName); 可以吗? 回复 引用
--引用--------------------------------------------------idda: 毛主席的书,我爱读楼主的blog,我爱看:)--------------------------------------------------------你说的那种书,比较适合村头的茅厕 回复 引用
昵称: [登录] [注册]
主页:
邮箱:(仅博主可见)
验证码: 看不清,换一个
评论内容:
登录 注册
[使用Ctrl+Enter键快速提交评论]
Powered by: 博客园 Copyright © Artech