В настоящее время мы находимся на стадии разработки нового проекта, который будет развернут в Windows Azure. Продукт будет общедоступным веб-API с использованием нового ASP.NET MVC Web API. Нам нужно будет поддерживать несколько версий API с течением времени. Например, при развертывании он будет версией 1. Этот номер версии не должен меняться, если нет принудительного изменения контракта. Значение, если в версии 1, у нас есть некоторый маршрут службы, такие как:Host Multi-Vered Services в Windows Azure
/v1/user/{id}
И он поддерживает GET/POST и для POST, он поддерживает значение имени. Ну, возможно, в версии 2 мы хотим изменить то, что принимает POST, и теперь мы изменили имя на FullName, а также поддерживаем FirstName и LastName.
Это создает проблему любого, кто использует версию 1 и этот метод, новые изменения, которые мы делаем, нарушат их функциональность.
Так что мы хотим возможность добавлять службы контроля версий поддержки в этом
/v1/user/{id}
будет продолжать работать и ударил старых библиотек и т.д. И мы разместим версии 2 бок о бок с ним, чтобы потребители могли мигрировать в используя
/v2/user/{id}
В то время как мы медленно исчезаем старые.
Итак, мы хотим иметь возможность размещать несколько версий наших веб-сервисов бок о бок в Windows Azure, который будет состоять из разных маршрутов/контрактов, разных основных библиотек и т. Д. Кто-нибудь знает, как мы можем это сделать это?