内容简介:翻译自:https://stackoverflow.com/questions/3434045/iextensibledataobject-usage-in-clients
我已将我的Web服务转换为具有一些数据交换的wcf服务.作为最佳实践,我们提到并建议DataContracts应继承自IExtensibleDataObject.我明白,在添加或删除数据库的情况下,IExtensibleDataObject很有帮助.但我无法得到客户端如何访问删除的数据库.这是我的代码:
[ServiceContract(Namespace = "http://mycompany.com/2010/08/")] public class MyWebService { [OperationContract] public Employee Add(Employee emp) { // Some Processing } } [DataContract(Name = "Employee", Namespace = "http://mycompany.com/2010/08/")] public class Employee : IExtensibleDataObject { [DataMember] public string FirstName; [DataMember] public string LastName; public ExtensionDataObject ExtensionData { get; set; } }
现在,在我的下一个Web服务版本中,我对DataContract进行了一些更改
[DataContract(Name = "Employee", Namespace = "http://mycompany.com/2010/09/")] public class Employee : IExtensibleDataObject { [DataMember] public string FirstName; [DataMember] public string LastName; [DataMember(IsRequired = true)] public string MiddleName; public ExtensionDataObject ExtensionData { get; set; } }
但是,正在访问我的旧版Web服务的客户端现在因未提供MiddleName字段而收到错误.我仍然对IExtensionDataObject的使用感到困惑.
http://msdn.microsoft.com/en-us/library/ms731083.aspx
这是另一篇关于数据合同版本控制最佳实践的文章:
http://msdn.microsoft.com/en-us/library/ms733832.aspx翻译自:https://stackoverflow.com/questions/3434045/iextensibledataobject-usage-in-clients
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
网站运维技术与实践
饶琛琳 / 电子工业出版社 / 2014-3 / 69.00元
网站运维工作,一向以内容繁杂、覆盖面广著称。《网站运维技术与实践》选取日常工作涉及的监测调优、日志分析、集群规划、自动化部署、存储和数据库等方面,力图深入阐述各项工作的技术要点及协议原理,并介绍相关开源产品的实践经验。在技术之外,作者也分享了一些关于高效工作及个人成长方面的心得。 《网站运维技术与实践》适合Linux 系统管理员、中大型网站运维工程师及技术负责人、DevOps 爱好者阅读。同......一起来看看 《网站运维技术与实践》 这本书的介绍吧!