《数据契约》PPT课件.ppt
《《数据契约》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《数据契约》PPT课件.ppt(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、南京工业职业技术学院数据契约和序列化数据契约和序列化蒋美云南京工业职业技术学院可序列化类型数据契约已知类型(Known types)IXmlSerializable本课程内容:本课程内容:南京工业职业技术学院在分布式系统中,一个Application与另一个Application之间进行交互,必然需要携带数据。在服务内部,功能由代码实现,而在服务外部,功能由WSDL定义,WCF服务内部程序的数据由简单与复杂类型,而在服务外部,数据由XSD(XML Schema Definitions)表示。数据契约的作用:类型与XSD之间进行映射。映射成XSD后随WSDL一起发布。序列化可以理解成这种关系的映
2、射。Serialization可以看成是把包含相同内容的数据从一种结构(.NET Object)转换成另一种结构(XML)。要实现在两种不同结构之间的转化,这两种结构之间必须存在一种Mapping(映射)。Serialization的实现由序列化器(Serializer)来负责。为什么要序列化为什么要序列化南京工业职业技术学院WCF序列化将对象图转化为XML信息集的过程。将CLR类型转化成符合标准的XML序列化序列化南京工业职业技术学院满足下列条件之一将被DataContractSerializer序列化:标记有 DataContract和DataMember属性具有CollectionDat
3、aContract属性由IXMLSerializable派生;标记有Serializable属性,而成员未标记NonSerialized标记有Serializable,并实现了Iserializable接口;CLR内建基本类型,如int,stringBytes array、DateTime、等数组或容器枚举什么样的数据会被序列化?什么样的数据会被序列化?南京工业职业技术学院Serialization 是通过Serializer来完成的,在WCF中,有3种不同的SerializerDataContractSerializer(定义在System.RunTime.Serializtion name
4、space中)XMLSerializer(定义在System.XML.Serialization namespace)NetDataContractSerializer(定义在System.XML.Serialization namespace)。他们用不同的方式实现.NET Object的Serialization。DataContractSerializer和NetDataContractSerializer基本上没有太大的区别,其中DataContractSerializer为WCF默认的Serializer,如果没有显式定义采用另外一种Serializer,WCF会创建一个DataCo
5、ntractSerializer 序列化NET Object。WCFWCF中序列化方式中序列化方式南京工业职业技术学院WCFWCF中序列化方式中序列化方式南京工业职业技术学院所有域都被序列化 无论可访问性(accessibility)如何无法对命名规范或者数据类型进行控制不想系列化某个成员,可以在该成员上添加Nonserializable特性SerializableAttributeSerializableAttribute(传统的)(传统的)南京工业职业技术学院为了获得最大可能的互操作性,建议使用DataContractAttribute 和DataMemberAttribute 属性对类型
6、进行标记,以创建数据协定。数据协定是服务协定的一部分,用于描述服务操作交换的数据。对于复杂类型,使用DataContractSerializer是一种较好的方法数据契约(数据契约(Data ContractsData Contracts)概述)概述:序序列化中常用的一种方式列化中常用的一种方式南京工业职业技术学院数据契约(数据契约(Data ContractsData Contracts)概述)概述南京工业职业技术学院数据契约(数据契约(Data ContractsData Contracts)概述)概述南京工业职业技术学院创建数据契约创建数据契约南京工业职业技术学院 DataContract
7、 public class People DataMember public string name;DataMember public int age;public People(string name,int age)this.name=name;this.age=age;ServiceContract public interface IService1 OperationContract string GetInfomation(People people);数据契约数据契约枚举DataContractenum ContactType EnumMember Customer;EnumM
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据契约 数据 契约 PPT 课件
限制150内