知识宝典之介绍WCF数据契约

经过长时间学习WCF,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西。在WCF服务编程中我们知道,WCF数据契约定义了远程访问对象和可供调用的服务操作方法,WCF数据契约则是定义服务端和客户端之间要传送的自定义数据类型。在 WCF项目中,声明一个类型DataContract,那么该类型就可以被序列化在服务端和客户端之间传送。

#T#类只有声明为DataContract,该类型的对象才可以被传送,且只有类的属性会被传送,需要在属性生命前加DataMember声明,这样该属性就可以被序列化传送。默认情况属性是不可传递的。类的方法不会被传送。WCF数据契约的类型可以进行更加细节的控制,可以把一个成员属性排除在序列化范围以外,客户端程序不会获得被排除在外的成员属性的任何信息,包括定义和数据。代码如下:

 
 
  1. [DataContract]//数据契约属性声明
  2. class MyDataContract
  3. {
  4. [DataMember(Name = "MyName")]//数据成员标记,支持别名定义
  5. public string Name
  6. {
  7. get;
  8. set;
  9. }
  10. [DataMember(Name = "MyEmail")]//数据成员标记,支持别名定义
  11. public string Email
  12. {
  13. get;
  14. set;
  15. }
  16. [DataMember]//数据成员标记
  17. public string Mobile
  18. {
  19. get;
  20. set;
  21. }
  22. //没有[DataMember]声明,不会被序列化
  23. public string Address
  24. {
  25. get;
  26. set;
  27. }
  28. }
  29. }

上面类声明为DataContract,部分属性声明为DataMember(数据成员)。可以序列化为客户端传送。 Address成员属性没有被声明为DataMember,因此在交换数据时,不会传输Address的任何信息。声明为DataMember的成员也可以自定义客户端可见的别名 如:

 
 
  1. [DataMember(Name = "MyName")]//数据成员标记,支持别名定义。

网站栏目:知识宝典之介绍WCF数据契约
文章出自:http://www.shufengxianlan.com/qtweb/news12/318812.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联