我的任务是为一套新的 WCF 服务制定版本控制策略。我所做的大部分阅读都建议使用中间路由服务将呼叫转发到适当的服务版本。我理解这是如何工作的,但我质疑这在保护客户免受重大变化方面有多大好处。
例如,我有两个具有不同端点的服务版本:
mycompany.com/API/v1.0/GetCustomer
mycompany.com/API/v2.0/GetCustomer
路由服务解决方案将在 SOAP 消息中查找自定义“版本”标头,并将调用路由到适当的服务。如果没有找到版本标头,则可以使用最新版本。
或者,我可以只公开两个端点,消费者可以调用所需的版本。
一种解决方案如何优于另一种解决方案?添加路由服务似乎增加了额外的配置级别。这两种解决方案都要求消费者在想要升级时更改他们的代码......
在单独的帖子中提出这个问题可能会更好,但维护服务的多个版本意味着我们将需要在源代码中并发版本的合约。有没有推荐的管理方式(例如命名空间)?
谢谢