[WCF] Data Contract
数据契约(Data Contract)是用来标识用户自定义类型和序列化。 DataContract public struct Number DataContract 的属性 Name / Namespace:自定义名称和命名空间。 DataMember 的属性 Name:自定义名称。 IsRequired:指示该成员序列化前必须被赋值。 DataContractSerializer 实际上序列化是一个过程,不过这个过程大多徐情况下被系统自动实现了。默认情况下,WCF 使用 DataContractSerializer 引擎对相关参数进行序列化,这也是 WCF 推荐的方式。另外一个选择是 XmlSerializer,也就是 ASP.NET Web Service 所使用的序列化引擎。XmlSerializer 仅支持 DataContractSerializer 所支持的部分类型,但它允许你使用 XmlAttributeAttribute 等特性对序列化生成的 XML 进行更多的控制。 DataContractSerializer 支持的类型: 支持所有的基本类型,还包括 XmlElement 和 DateTime 这样的常用类型。 支持使用 DataContractAttribute 标记的类型。 支持使用 SerializableAttribute 标记或者实现 ISerializable 接口的类型。 实现 IXmlSerializable 接口的类型。 大多数集合(含泛型)类型,包括常用的 Array、List、IList 等。 KnownTypes 在OO中,对象继承是很常见的,但如果在WCF直接使用继承后,实际上被分成了2个独立的类。这时就需要使用KnownType来标识,这样在客户端生成代理后就变成继承的了。 还可以通过配置文件指定 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |