WCF自定義集合類型應(yīng)用注意事項探討
WCF作為一個重要的開發(fā)插件,其中有很多比較重要的功能與應(yīng)用技巧,值得我們?nèi)ド钊氲奶接?。那么,我們今天將會為大家詳細介紹一下有關(guān)WCF自定義集合類型的一些應(yīng)用注意事項,以幫助大家的實際開發(fā)。#t#
在WCF自定義集合類型中,如果作為服務(wù)契約的一部分進行發(fā)布,必須要保證以下幾點:
1.集合包含的類型必須使用[Serializable]和[DataContract]標記;
2.集合包含的類型屬性必須使用 [DataMember]標記,并且,如果是屬性(Property),必須要實現(xiàn)get和set;
3.集合類型必須使用[Serializable]和[CollectionDataContract]標記,以及[KnownType]標記指向集合包含的子類型;
4.集合類型必須實現(xiàn)IEnumerable< T>接口;
5.集合類型使用[DataMember]標記的IList將集合項向客戶端公開.
樣例如下:
- namespace Sharpnessdotnet
- {
- [Serializable]
- [DataContract]
- public class Sharpnessdotnet
- {
- private string name;
- [DataMember]
- public string Name
- {
- get
- {
- return name;
- }
- set
- {
- name = value;
- }
- }
- }
- [Serializable]
- [CollectionDataContract]
- [KnownType(typeof(Sharpnessdotnet))]
- public class SharpnessdotentCollection : IEnumerable<Sharpnessdotnet>
- {
- [DataMember]
- public IList<Sharpnessdotnet> List;
- public SharpnessdotentCollection()
- {
- List = new List<Sharpnessdotnet>();
- }
- public void Add(Sharpnessdotnet obj)
- {
- List.Add(obj);
- }
- public IEnumerator<Sharpnessdotnet> GetEnumerator()
- {
- return List.GetEnumerator();
- }
- IEnumerator IEnumerable.GetEnumerator()
- {
- return List.GetEnumerator();
- }
- }
- }
WCF自定義集合類型的基本知識就為大家介紹到這里。