千家信息网

WCF数据契约是什么

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容主要讲解"WCF数据契约是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"WCF数据契约是什么"吧!WCF数据契约(Data Contract)
千家信息网最后更新 2026年11月02日WCF数据契约是什么

本篇内容主要讲解"WCF数据契约是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"WCF数据契约是什么"吧!

WCF数据契约(Data Contract)是用来标识用户自定义类型和序列化。DataContractAttribute、 DataMemberAttribute 来标注自定义数据类型,这样我们就可以在服务方法中传递复杂的数据体了。

使用之前,我们需要添加 System.Runtime.Serialization.dll 引用。由此我们可以看出其基本的开发模式,那就是使用 ServiceContract、OperationContract 执行运算,而使用 DataContract、DataMember 作为可序列化的数据载体。当然,我们也可以使用 "Serializable" 代替 "DataContract"。其实,WCF数据契约主要是定义数据的格式(契约)。DataMember()是告诉序列化引擎要序列化的那个部分(关于序列化,注意一点,反序列化时可以访问任一字段,作用域关键字不起作用,这可能会暴露安全问题。)

DataContract  public struct Number  {  DataMember  public double Num1;   DataMember  public double Num2;   public Number(double num1, double num2)  {  this.Num1 = num1;  this.Num2 = num2;  }  }

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来标识,这样在客户端生成代理后就变成继承的了。

到此,相信大家对"WCF数据契约是什么"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

序列 类型 数据 契约 支持 实际 引擎 作用 内容 名称 实际上 属性 常用 情况 接口 方法 更多 标记 标识 过程 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技行业发展 涨乐互联网科技 互联网巨头科技公司 上海互联网科技有限公司 远信互联网科技 杭州互联网科技公司 亿策互联网科技 成都互联网科技公司 云电互联网科技 撒么互联网科技公司 互联网科技大会案例 山东吉时兔互联网科技有限公司 西藏七维空间互联网科技有限公司 恒生互联网科技指数跳水 消费医药和互联网科技 米聚互联网科技南京有限公司排面 天津腾达互联网科技有限公司 佛山市翊博互联网络科技有限公司 用友工业互联网科技发展 宇信科技在杭州互联网排第几 以房互联网科技 上海喔噻互联网科技 阿里巴巴算科技企业还是互联网 重庆互联网医院沙龙医盟信息科技 互联网科技公司实习生 中国科技创新与世界互联网大会 东莞新华互联网科技学校 互联网时代的科技公司 中国新注册互联网科技 承德科技产业互联网平台
0