网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

WCF简单教程(4)数据契约

第四篇:用数据契约传递自定义数据对象

成都创新互联专注于临淄企业网站建设,响应式网站,商城网站建设。临淄网站建设公司,为临淄等地区提供建站服务。全流程按需设计,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务

之前的演示中,我们一直都是在用string类型做参数和返回值,实际项目中肯定会传递自定义的数据类型。与WebService不同,WCF想传递自定义数据,必须要将其定义为数据契约。看一个例子:

  1. using System; 
  2. using System.Runtime.Serialization;  //注意加上这个引用,并引用相应的dll 
  3.  
  4. namespace Server 
  5.     //用DataContract来标记本类是数据契约类 
  6.     [DataContract] 
  7.     public class UserEntity 
  8.     { 
  9.         //用DataMember来标识数据成员,没有此标识的属性不会作为数据契约的一部分 
  10.         [DataMember] 
  11.         public string Name { get; set; } 
  12.         [DataMember] 
  13.         public int Age { get; set; } 
  14.     } 

这个契约需要在客户端和服务端都存在,然后它就可以作为参数或返回值,在双方互相传递了,具体例子就省略了。

这里面有一点需要注意,数据契约与服务契约有一点小小的区别,数据契约要求在客户端和服务端必须保持完全一致的类名与命名空间,否则就无法传递数据,这与服务契约是不同的,服务契约放到客户端时允许换个命名空间。

组内有同事遇到过类似的问题,直接把数据契约类copy了一份到客户端之后改了命名空间,然后就一直取不到数据。 这里也引出另一个话题,推荐把各种契约(不含实现类)单独封装成一个dll,双方均引用它,结构上清晰,也避免出错。

今天这篇有点短,下回聊一聊用IIS做HOST。

 


网站标题:WCF简单教程(4)数据契约
转载源于:http://bjjierui.cn/article/jpgjoo.html

其他资讯