【引自Artech的博客】软件工程是一门独特的工程艺术,需要解决的是不断改变的需求变化。而对于WCF,对于SOA,由于涉及的是对多个系统之间的交互问题,如何有效地解决不断改变的需求所带来的问题就显得更为重要:Service端版本的变化能否保持现有Consumer的正常调用,Consumer端的改变不至于影响对Service 的正常调用。对于Data Contract来说就是要解决这样的问题:Service端或者Client对Data Type的改变不会影响Service的正常调用。
在系统开发过程中,通过对Data Type添加额外的字段进而对其进行扩展,是一个种很常见的场景。本部分就作中介绍Data Contract的这种变化,Service或者Client的Data Contract在本地添加一个新的Data Member会造成怎样的影响,WCF可以采用怎样的机制来解决这种单方面Data Contract版本的改变。
我们同样通过Dome来说话。在这个Demo中,我使用上面介绍的Order Processing的场景,下面是整个Solution的结构(需要说明的是,本片文章提供的Code片断和Source Code都是基于VS 2008的)。
1、Service端:Artech.DataContractVersioning.Service
|
Service Contract 和Service Implementation: Process方法简单地将Order对象返回到客户端,当Client接受到Service返回的Order对象后,可以检测和由它传递给Service的Order对象有什么不同。
|
2、Client端
|
Program:先创建一个Order对象,向Console打印出Order的信息,随后以此作为参数调用Service,最后将返回的Order对象的信息打印出来,看看两者之间的有何区别。
|
| 共2页: 1 [2] 下一页 | ||
|
|
||||
| · 如何优化IT 控制能耗 · 国际文档格式标准开战 · CISSP认证成长之路 · 珊瑚虫QQ作者侵权案开庭 · 微软出价446亿美元收购.. · Windows Server 2008专.. · 隐私保护技术探讨 · 贝恩资本携手华为22亿.. |
· 802.11n:下一代的无线.. · 体验Visual Studio 200.. · 运营商封堵非法ADSL共享 · ADSL应用面面俱到 · 龙芯要做中国的“奔腾” · 华为七千人主动辞职规.. · 华为路由器配置 · 2007盘点专题:有多少.. |
|||
|
||||
| · VPN技术 · SQL Server 2008/2005.. · SOA 面向服务架构 · 子网掩码教程 · SQL Server 2008/2005.. · 中间件应用技术专题 · 深入了解PGP加密技术 · MySQL数据库备份 |
· 病毒查杀专题 · VPN技术 · Solaris 10 配置管理 · Linux 基础 · SSL VPN详细知识 · Linux防火墙 · Linux 集群技术专题 · 打造安全服务器 |
|||
|
||||
| · VPN技术 · SQL Server 2008/2005.. · 中间件应用技术专题 · SQL Server 2008/2005.. · SOA 面向服务架构 · 子网掩码教程 · MySQL数据库备份 · 身份认证技术 |
· 病毒查杀专题 · 清除流氓软件——51CTO.. · SSL VPN详细知识 · Sniffer安全技术从入门.. · Linux 集群技术专题 · VPN技术 · Linux 基础 · SOA 面向服务架构 |
|||