同时使用XmlSerializer和WCF的DataContractSerializer

简介: 今天在写代码是遇到这个错误。 Type ‘..’ cannot be ISerializable and have DataContractAttribute attribute. 只是因为在一个类里面同时使用.Net 1.1 的XmlSerializer 和.NET 3.5的DataContractAttribue所导致的。

今天在写代码是遇到这个错误。

Type ‘..’ cannot be ISerializable and have DataContractAttribute attribute.

只是因为在一个类里面同时使用.Net 1.1 的XmlSerializer 和.NET 3.5的DataContractAttribue所导致的。这是不同版本的Framework对于序列化一个Object实现的不同技术。DataContract应该说以一个覆盖更广泛的序列化技术。

避免这个错误的方法是不要再一个类里面同时使用[Serializable]和[DataContract]标签。也就是说这样写是错误的:

[Serializable]
[DataContract]
 public class GeneralInfo : XmlNodeBaseInfo {

}
应该只是用[Serializable]和[DataContract]标签其中的一个。

这篇文章详细的比较了XmlSerializer 和DataConstractSerializer

XmlSerializer vs DataContractSerializer: Serialization in Wcf

相关文章
|
存储 vr&ar 数据库
MFC的Serialize机制及其使用
MFC的Serialize机制及其使用
364 0
|
XML C# 数据安全/隐私保护
|
Java 应用服务中间件 Android开发