您所在位置: 网站首页 / 文档列表 / 数据结构与算法 / 文档详情
数据契约实用教案.pptx 立即下载
上传人:王子****青蛙 上传时间:2024-09-03 格式:PPTX 页数:34 大小:1.8MB 金币:6 举报 版权申诉
预览加载中,请您耐心等待几秒...

数据契约实用教案.pptx

数据契约实用教案.pptx

预览

免费试读已结束,剩余 24 页请下载文档后查看

6 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

可序列化类型(lèixíng)数据契约已知类型(lèixíng)(Knowntypes)IXmlSerializable在分布式系统中,一个Application与另一个Application之间进行交互,必然需要携带数据。在服务内部,功能由代码实现,而在服务外部,功能由WSDL定义,WCF服务内部程序的数据由简单与复杂类型,而在服务外部,数据由XSD(XMLSchemaDefinitions)表示。数据契约的作用:类型与XSD之间进行映射。映射成XSD后随WSDL一起发布。序列化可以(kěyǐ)理解成这种关系的映射。Serialization可以(kěyǐ)看成是把包含相同内容的数据从一种结构(.NETObject)转换成另一种结构(XML)。要实现在两种不同结构之间的转化,这两种结构之间必须存在一种Mapping(映射)。Serialization的实现由序列化器(Serializer)来负责。WCF序列化将对象(duìxiàng)图转化为XML信息集的过程。将CLR类型转化成符合标准的XML满足下列条件之一将被DataContractSerializer序列化:标记有[DataContract]和[DataMember]属性具有[CollectionDataContract]属性由IXMLSerializable派生(pàishēng);标记有[Serializable]属性,而成员未标记[NonSerialized]标记有[Serializable],并实现了Iserializable接口;CLR内建基本类型,如int,stringBytesarray、DateTime、等数组或容器枚举Serialization是通过Serializer来完成的,在WCF中,有3种不同的Serializer——DataContractSerializer(定义在System.RunTime.Serializtionnamespace中)XMLSerializer(定义在System.XML.Serializationnamespace)NetDataContractSerializer(定义在System.XML.Serializationnamespace)。他们用不同的方式实现.NETObject的Serialization。DataContractSerializer和NetDataContractSerializer基本上没有太大的区别,其中DataContractSerializer为WCF默认的Serializer,如果没有显式定义采用(cǎiyòng)另外一种Serializer,WCF会创建一个DataContractSerializer序列化NETObject。WCF中序列化方式(fāngshì)所有域都被序列化–无论可访问性(accessibility)如何无法对命名规范或者数据类型进行控制(kòngzhì)不想系列化某个成员,可以在该成员上添加[Nonserializable]特性为了获得最大可能的互操作性,建议使用DataContractAttribute和DataMemberAttribute属性对类型进行标记(biāojì),以创建数据协定。数据协定是服务协定的一部分,用于描述服务操作交换的数据。对于复杂类型,使用DataContractSerializer是一种较好的方法数据契约(qìyuē)(DataContracts)概述数据契约(qìyuē)(DataContracts)概述创建数据(shùjù)契约[DataContract]publicclassPeople{[DataMember]publicstringname;[DataMember]publicintage;publicPeople(stringname,intage){this.name=name;this.age=age;}}[ServiceContract]publicinterfaceIService1{[OperationContract]stringGetInfomation(Peoplepeople);提供(tígōng)命名空间(Namespace)能够提供(tígōng)显式的Name可以指定(zhǐdìng)排列顺序–缺省按照字母表顺序排列能够显式提供Name,IsRequired(表示是不是为空,如IsRequired=true,表示Name在序列化之前必须要被赋值,不为空)DataContractSchema按照字母(zìmǔ)顺序排序(缺省)数据契约是可选的样式协定:除非显式应用数据协定属性,否则不会序列化任何类型或数据成员数据协定与托管代码的访问(fǎn
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

数据契约实用教案

文档大小:1.8MB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
年会员
99.0
¥199.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用

手机号注册 用户名注册
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
登录
手机号登录 微信扫码登录
微信扫一扫登录 账号密码登录

首次登录需关注“豆柴文库”公众号

新用户注册
VIP会员(1亿+VIP文档免费下)
年会员
99.0
¥199.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用