这篇文章主要为大家展示了“WCF如何自定义集合”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“WCF如何自定义集合”这篇文章吧。
利用WSE(Web Service Enhancements)可以为ASMX提供安全性的保证。.NET Remoting具有丰富的扩展功能,可以创建定制的信道、格式化器和代理程序。Enterprise Service(COM+)提供了对事务的支持,其中还包括分布式事务,可实现故障的恢复。MSMQ可以支持异步调用、脱机连接、断点连接等功能,利用消息队列支持应用程序之间的消息传递。从功能角度来看,WCF整合了ASMX、.Net Remoting、Enterprise Service、WSE以及MSMQ等现有技术的优点,它提供了一种构建安全可靠的分布式面向服务系统的统一的框架模型,使软件研发人员在开发分布式应用时变得更加轻松。
集合元素类的定义如下:
public enum FileType { TXT,DOC,HTML,OTHER } [DataContract] public class Document { private string m_localPath; private string m_fileName; private FileType m_fileType; [DataMember] public string LocalPath { get { return m_localPath; } set { m_localPath = value; } } [DataMember] public string FileName { get { return m_fileName; } set { m_fileName = value; } } [DataMember] public FileType FileType { get { return m_fileType; } set { m_fileType = value; } } }
WCF自定义集合DocumentList则实现了IList接口:
//which attribute should be applied here? public class DocumentList:IList { private IList m_list = null; public DocumentList() { m_list = new List(); } #region IList Members public int IndexOf(Document item) { return m_list.IndexOf(item); } public void Insert(int index, Document item) { m_list.Insert(index,item); } public void RemoveAt(int index) { m_list.RemoveAt(index); } public Document this[int index] { get { return m_list[index]; } set { m_list[index] = value; } } #endregion #region ICollection Members public void Add(Document item) { m_list.Add(item); } public void Clear() { m_list.Clear(); } public bool Contains(Document item) { return m_list.Contains(item); } public void CopyTo(Document[] array, int arrayIndex) { m_list.CopyTo(array,arrayIndex); } public int Count { get { return m_list.Count; } } public bool IsReadOnly { get { return m_list.IsReadOnly; } } public bool Remove(Document item) { return m_list.Remove(item); } #endregion #region IEnumerable Members public IEnumerator GetEnumerator() { return m_list.GetEnumerator(); } #endregion #region IEnumerable Members IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable)m_list).GetEnumerator(); } #endregion }
以上是“WCF如何自定义集合”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。