2

OData 协议及其 WCF 数据服务实现中是否有任何元数据版本支持?

假设我们有一个 OData 服务,它公开了单个 Goods 集合,Goods 实体类型具有三个属性:Key(字符串)、Name(字符串)和 AvailableSince(字符串)。该服务已经在运行,并且有一些消费者依赖于这个元数据模式。接下来,我们要更新 Goods 实体类型——例如将属性 AvailableSince(string) 替换为其他内容,或者将其类型从字符串更改为日期时间——因此我们将有两个版本的元数据,而依赖于第一个版本元数据的消费者将无法根据第二个元数据模式发送正确的请求。

有没有办法在单一服务中提供两个元数据版本?如果是,那么消费者如何在请求中指定元数据版本,以及在 WCF 端应如何处理?

提前感谢所有人。

4

2 回答 2

5

简短的回答:不。

大多数元数据更改需要新服务或破坏现有客户端。

如果现有的客户群很重要,我们的一般建议是创建一个新服务......

即类似的东西:

/v1/myservice.svc 
  & 
/v2/myservice.svc

亚历克斯

OData 项目经理

于 2010-07-21T02:26:27.643 回答
0

这篇最近的文章描述了哪些数据更改需要新服务版本,哪些更改不需要服务更新。

http://msdn.microsoft.com/en-us/library/ee473427.aspx

于 2012-12-16T12:46:34.267 回答