前言这是一篇关于使用 MS MessageQueue 微软消息队列组件的 麦库笔记 现在搬运到博客园上来 在使用MSMQ 发送消息时 抛出: IContlliton<T> 是接口 无法序列化的错误。 需要发送的消息是复杂实体: public class modelOne public string name{get;set;} public ModelTwo model{get;set;} } public class ModelTwo { public string name{get;set;} public IList<ModleThree> list{get;set;} }
由于其中的ModelTwo 里有接口无法进行序列化。但是list 其实是不需要序列化的。 为了指定需要序列化的属性 可以利用 [XmlIgnore] 标签。该标签表示不需要序列化的属性字段。
更多关于XML 序列化时的attriabute 有: System.Xml.Serialization命名空间中有一系列的特性类,用来控制复杂类型序列化的控制。例如 XmlElementAttribute、XmlAttributeAttribute、XmlArrayAttribute、 XmlArrayItemAttribute、XmlRootAttribute等等
[XmlRoot("cat")] 可以使用XmlElement指定属性序列化为子节点(默认情况会序列化为子节点);或者使用XmlAttribute特性制定属性序列化为Xml节点的属性;还可以通过XmlIgnore特性修饰要求序列化程序不序列化修饰属性 参考链接http://www.cnblogs.com/luomingui/archive/2010/03/08/1680933.html
|
|
来自: ThinkTank_引擎 > 《队列》