博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WCF简单教程(4) 数据契约
阅读量:5974 次
发布时间:2019-06-19

本文共 767 字,大约阅读时间需要 2 分钟。

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

之前的演示中,我们一直都是在用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 { getset; } 
  12.         [DataMember] 
  13.         public int Age { getset; } 
  14.     } 

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

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

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

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

     本文转自 BoyTNT 51CTO博客,原文链接:http://blog.51cto.com/boytnt/800257,如需转载请自行联系原作者

你可能感兴趣的文章
采用TurboGate邮件网关防止邮箱被盗用
查看>>
0基础python容易学吗?
查看>>
SylixOS网络性能测试
查看>>
DATETIME, DATE和TIMESTAMP
查看>>
2018-11-26
查看>>
2018 KDD CUP支付宝安全团队Deep X斩获两项大奖
查看>>
安装 PHP7
查看>>
PHPCMS V9静态化HTML生成设置及URL规则优化
查看>>
关闭SQL Server 数据库所有使用连接
查看>>
tkinter events format
查看>>
跨越敏捷 — 闲鱼研发效能升级之路
查看>>
8支团队正在努力构建下一代Ethereum
查看>>
Shell脚本常用命令
查看>>
教程 | pandas轻松入门 之 数据结构介绍 1
查看>>
一篇文章能够看懂基础源代码之JAVA篇
查看>>
什么是大数据技术架构
查看>>
【分享】如何救援記憶卡中誤刪的資料
查看>>
教你回收站里面的东西删除了怎么恢复的技巧
查看>>
4个方面彻底说清JS的深拷贝/浅拷贝
查看>>
北方计算机专修学院“展示自我 秀出风采” 网页创意设计大赛成功举办
查看>>