【发布时间】:2009-03-19 18:03:38
【问题描述】:
我刚刚编写了一个新版本的 WCF Web 服务,我想确保我没有对服务和数据合同进行任何重大更改。
回想我作为 VB6 Com Api 开发人员的日子,我记得在编译时指定组件的先前发行版本并让编译器检查二进制兼容性是多么容易。
我设想了类似的东西,称为(希望)“合同兼容性”检查。它将使用元数据执行与 VB6 开发环境类似的检查。这可以作为执行实用程序的单独构建步骤来完成。
我准备接受不存在这样的实用程序。如果是这种情况,是否有人对实现这一目标的算法有什么想法?
- 从当前实时服务版本中检索元数据
- 从新服务版本中检索元数据
- 检查服务合同和每个数据合同的兼容性。仅报告重大更改。
第 3 步看起来很复杂,但肯定可以自动化...
【问题讨论】:
-
如果存在兼容性问题,您可以使用服务合同的命名空间进行版本控制,并保持两个版本都可用,直到您确定不再使用旧版本。
标签: wcf web-services metadata versioning backwards-compatibility