同时使用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

相关文章
|
XML C# 数据格式
C# WCF DataContractSerializer 类
     原文地址:点击打开链接       DataContractSerializer 类      使用提供的数据协定,将类型实例序列化和反序列化为 XML 流或文档。 无法继承此类。      命名空间:  System.Runtime.Serialization        程序集:   System.Runtime.Serialization(在 System.Runtime.S
1212 0
|
XML 数据格式 C#
WCF 序列化与反序列化复杂类型(DataContractSerializer)
作者:jiankunking 出处:http://blog.csdn.net/jiankunking .NET的类型可以分为两种:声明类型和真实类型。我们提倡面向接口的编程,对象的真实类型往往需要在运行时才能确定,在编程的时候往往只需要指明类型的声明类型,比如类型实现的接口或者抽象类。当我们使用基于接口或者抽象类创建的DataContractSerializer去序列化一个实现了该接口或者
1594 0
|
C# 数据格式 XML
C# 实体类序列化与反序列化二 (DataContractSerializer)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.Serialization; using System.IO; using System.Xml; namespace Common.Utility.XMLSerializatio
899 0
|
XML 安全 数据格式
WCF技术剖析之十二:数据契约(Data Contract)和数据契约序列化器(DataContractSerializer)
原文:WCF技术剖析之十二:数据契约(Data Contract)和数据契约序列化器(DataContractSerializer) [爱心链接:拯救一个25岁身患急性白血病的女孩[内有苏州电视台经济频道《天天山海经》为此录制的节目视频(苏州话)]]大部分的系统都是以数据为中心的(Data Central),功能的实现表现在对相关数据的正确处理。
881 0