深入讲解WCF集合类型

开发 后端
这里介绍了WCF集合保证的几点,例如:集合类型必须实现IEnumerable<T>接口等等,文章还有详细的样例分析,希望对大家有帮助。

WCF经过长时间的发展,很多用户都很了解WCF了,这里我发表一下个人理解,和大家讨论讨论。首先先了解一下WCF的发展,自从在微软提出.NET战略以来,就针对建立企业级的分布式应用先后推出了一系列产品和技术,包括:ASP.NET Web服务、.NET Remoting、Message Queuing以及Enterprise Service等。这些技术为基于微软技术的软件研发人员开发分布式应用提供了很大的便利,同时也各自存在着一些不足。

#T#WCF自定义集合类型,如果作为服务契约的一部分进行发布,必须要保证以下几点:WCF集合包含的类型必须使用[Serializable]和[DataContract]标记;WCF集合包含的类型属性必须使用[DataMember]标记,并且,如果是属性(Property),必须要实现get和set;WCF集合类型必须使用[Serializable]和[CollectionDataContract]标记,以及[KnownType]标记指向集合包含的子类型;集合类型必须实现IEnumerable<T>接口;集合类型使用[DataMember]标记的IList将集合项向客户端公开.

样例如下:

  1. namespaceSharpnessdotnet  
  2. {  
  3. [Serializable]  
  4. [DataContract]  
  5. publicclassSharpnessdotnet  
  6. {  
  7. privatestringname;  
  8. [DataMember]  
  9. publicstringName  
  10. {  
  11. get  
  12. {  
  13. returnname;  
  14. }  
  15. set  
  16. {  
  17. name=value;  
  18. }  
  19. }  
  20. }  
  21. [Serializable]  
  22. [CollectionDataContract]  
  23. [KnownType(typeof(Sharpnessdotnet))]  
  24. publicclassSharpnessdotentCollection:IEnumerable<Sharpnessdotnet> 
  25. {  
  26. [DataMember]  
  27. publicIList<Sharpnessdotnet>List;  
  28. publicSharpnessdotentCollection()  
  29. {  
  30. List=newList<Sharpnessdotnet>();  
  31. }  
  32. publicvoidAdd(Sharpnessdotnetobj)  
  33. {  
  34. List.Add(obj);  
  35. }  
  36. publicIEnumerator<Sharpnessdotnet>GetEnumerator()  
  37. {  
  38. returnList.GetEnumerator();  
  39. }  
  40.  
  41. IEnumeratorIEnumerable.GetEnumerator()  
  42. {  
  43. returnList.GetEnumerator();  
  44. }  
  45. }  
责任编辑:田树 来源: 博客
相关推荐

2010-02-24 17:47:05

WCF集合类型

2009-12-22 14:54:52

WCF安全

2009-11-09 14:15:17

WCF集合类型

2009-11-09 09:23:10

WCF数据契约

2010-02-23 09:44:12

WCF dataCon

2010-03-01 09:56:21

WCF自定义集合类型

2009-11-05 09:59:59

WCF绑定

2009-12-08 13:46:16

Silverlight

2009-11-09 10:35:10

WCF REST服务

2009-12-22 11:29:27

WCF自定义集合类型

2010-02-24 15:20:23

WCF Message

2009-12-22 15:33:50

WCF传输安全

2009-12-22 19:14:36

WCF效率

2010-02-22 16:19:25

WCF自托管

2011-03-23 09:10:09

游标数据检索

2010-01-13 10:24:30

用户程控交换机

2010-02-24 09:38:58

WCF应用编码

2009-12-21 14:49:27

2009-12-21 18:19:19

WCF地址类型

2010-02-22 16:09:33

WCF宿主
点赞
收藏

51CTO技术栈公众号