zoukankan      html  css  js  c++  java
  • WCF技术剖析_学习笔记之三

    数据契约

    通过特性来定义,保证服务端和客户端对数据有一致性的理解。

    [DataContract]用于枚举、类、结构体。而不用于接口。不可被继承。

    3个属性成员:

    其中Name和Namespace表示数据契约的名称和命名空间;

    IsReference表示在进行序列化的时候是否保持对象现有的引用结构。比如说,一个对象的两个属性同时引用一个对象,那么有两个序列化方式,一种是在序列化后的XML仍然保留这种引用结构,另一种是将两个属性的值序列化成两份独立的具有相同内容的XML。

    其中Name和Namespace表示数据契约的名称和命名空间;IsReference表示在进行序列化的时候是否保持对象现有的引用结构。比如说,一个对象的两个属性同时引用一个对象,那么有两个序列化方式,一种是在序列化后的XML仍然保留这种引用结构,另一种是将两个属性的值序列化成两份独立的具有相同内容的XML。

    与之类似,数据契约也采用这种显式声明的机制。对于应用了DataContractAttribute特性的类型,只有应用了DataMemberAttribute特性的字段或者属性成员才能成为数据契约的数据成员。[DataMember]特性的定义如下所示。

    4个属性所表述的含义。

    • Name数据成员的名称,默认为字段或者属性的名称;    
    • Order相应的数据成员在最终序列化后的XML出现的位置,Order值越小越靠前,默认值为-1;    
    • IsRequired表明属性成员是否是必须的成员,默认值为false,表明该成员是可以缺省的;    
    • EmitDefaultValue表明在数据成员的值等于默认值的情况下,是否还需要将其序列化到最终的XML中,默认值为true,表示默认值会参与序列化。
  • 相关阅读:
    Java8时间处理
    yii2.0上传图片
    将字符串不足长度的填充到指定长度
    通过PHPExcel将Excel表文件中数据导入数据库
    css万能清除原理
    浮动+清除浮动
    DIV滚动条设置添加 CSS滚动条显示与滚动条隐藏
    地图上显示点在点上标注当前点的id
    百度地图点击地址后显示图标,保存到数据库之后,页面显示的是保存的坐标图标
    百度地图API
  • 原文地址:https://www.cnblogs.com/xyang/p/3012573.html
Copyright © 2011-2022 走看看