2

我的任务是为一套新的 WCF 服务制定版本控制策略。我所做的大部分阅读都建议使用中间路由服务将呼叫转发到适当的服务版本。我理解这是如何工作的,但我质疑这在保护客户免受重大变化方面有多大好处。

例如,我有两个具有不同端点的服务版本:

mycompany.com/API/v1.0/GetCustomer
mycompany.com/API/v2.0/GetCustomer

路由服务解决方案将在 SOAP 消息中查找自定义“版本”标头,并将调用路由到适当的服务。如果没有找到版本标头,则可以使用最新版本。

或者,我可以只公开两个端点,消费者可以调用所需的版本。

一种解决方案如何优于另一种解决方案?添加路由服务似乎增加了额外的配置级别。这两种解决方案都要求消费者在想要升级时更改他们的代码......

在单独的帖子中提出这个问题可能会更好,但维护服务的多个版本意味着我们将需要在源代码中并发版本的合约。有没有推荐的管理方式(例如命名空间)?

谢谢

4

2 回答 2

1

您可以将路由与 WCF 操作筛选结合使用。你可以看看http://www.dotnetcurry.com/ShowArticle.aspx?ID=470

于 2013-01-30T13:07:32.417 回答
0

您可以通过向 GetCustomer 操作发送版本参数来重建您的服务,并将其作为单个服务进行维护。

于 2013-01-30T13:01:34.780 回答