内容简介:翻译自: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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
大规模Web服务开发技术
伊藤直也、田中慎司 / 李剑 / 电子工业出版社 / 2011-7 / 59.00元
Hatena是日本最大的Web服务提供商之一,它提供的服务包括关键字(类似于维基百科)、博客、相册等。《大规模Web服务开发技术》由伊藤直也、田中慎司所著,内容主要来自Hatena为学生们举行的暑期实习的课程,内容涵盖广泛,介绍了性能优化、分布式、算法、系统架构等各个方面,甚至还介绍了硬件的经济成本,是运维工程师们必不可少的参考书。书中还包括几个算法实习课题,介绍了压缩算法、全文搜索等算法的实现方......一起来看看 《大规模Web服务开发技术》 这本书的介绍吧!