内容简介:翻译自: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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
如何不在网上虚度人生
[美] 肯尼思·戈德史密斯 / 刘畅 / 北京联合出版公司 / 2017-9 / 39.80元
我们平时上网多大程度上是浪费时间,多大程度是在学习、关心社会、激发创造力?我们真能彻底断网,逃离社交网络吗? 手机把都市人变成一群电子僵尸,是福是祸? 浏览记录就是我们将来的回忆录吗?文件归档属于一种现代民间艺术? 不自拍、P图、发朋友圈,我还是我吗? 美国知名概念艺术家戈德史密斯认为:上网绝不是浪费时间,而是一种创造性的活动。在本书中他以跨学科角度、散文式语言进行论证,涉及大众传播学、计算......一起来看看 《如何不在网上虚度人生》 这本书的介绍吧!