WCF自定义集合类型作为服务契约注意事项

WCF自定义集合类型可以作为服务契约进行发布,其中需要注意的是必须实现IEnumerable接口;必须使用[Serializable]和[CollectionDataContract]标记等等。

AD:


    当我们在使用WCF自定义集合类型当做服务契约发布的时候,需要注意很多问题。在这篇文章中就总结了一些注意事项,希望对大家有些帮助。

    1.WCF自定义集合类型必须使用[Serializable]和[DataContract]标记;

    2.集合包含的类型属性必须使用 [DataMember]标记,并且,如果是属性(Property),必须要实现get和set;

    3.集合类型必须使用[Serializable]和[CollectionDataContract]标记,以及[KnownType]标记指向集合包含的子类型;

    4.集合类型必须实现IEnumerable<T>接口;

    5.WCF自定义集合类型使用[DataMember]标记的IList将集合项向客户端公开.

    样例如下:

       
       
    1. namespace Sharpnessdotnet  
    2. {  
    3. [Serializable]  
    4. [DataContract]  
    5. public class Sharpnessdotnet  
    6. {  
    7. private string name;  
    8. [DataMember]  
    9. public string Name  
    10. {  
    11. get  
    12. {  
    13. return name;  
    14. }  
    15. set  
    16. {  
    17. name = value;  
    18. }  
    19. }  
    20. }  
    21. [Serializable]  
    22. [CollectionDataContract]  
    23. [KnownType(typeof(Sharpnessdotnet))]  
    24. public class SharpnessdotentCollection :  IEnumerable<Sharpnessdotnet> 
    25. {  
    26. [DataMember]  
    27. public IList<Sharpnessdotnet> List;  
    28. public SharpnessdotentCollection()  
    29. {  
    30. List = new List<Sharpnessdotnet>();  
    31. }  
    32. public void Add(Sharpnessdotnet obj)  
    33. {  
    34. List.Add(obj);  
    35. }  
    36. public IEnumerator<Sharpnessdotnet>  GetEnumerator()  
    37. {  
    38. return List.GetEnumerator();  
    39. }  
    40. IEnumerator IEnumerable.GetEnumerator()  
    41. {  
    42. return List.GetEnumerator();  
    43. }  
    44. }  

    以上就是WCF自定义集合类型相关概念总结。

    原创url: http://developer.51cto.com/art/200912/171735.htm
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值