Я только что написал новую версию веб-сервиса WCF, и я хочу убедиться, что я не нарушил никаких изменений в отношении контрактов на обслуживание и данные.Проверка обратной совместимости WCF
Думаю, что в качестве разработчика VB6 Com Api я вспоминаю, как легко было указать предыдущую версию версии компонента во время компиляции и проверить, что бинарная совместимость поддерживается компилятором.
Я предполагаю что-то подобное, называемое (надеюсь), «Проверка совместимости контракта». Он будет использовать метаданные для выполнения аналогичной проверки с той, которую выполнил VB6 dev env. Это можно сделать как отдельный шаг сборки, который будет выполнять утилиту.
Я согласен с тем, что такой утилиты не существует. Если это так, есть ли у кого-нибудь идеи о том, как будет выглядеть алгоритм для достижения этого?
- Получение метаданных из текущей живой службы версии
- Получить мета-данные из новой версии сервиса
- Проверить Service Contract и каждого контракта данных для совместимости. Только сообщать о нарушениях.
Шаг 3 кажется, что это будет сложным, но, конечно, автоматизирован ...
Если есть проблемы с совместимостью, вы можете использовать пространство имен контракта на обслуживание для управления версиями и сохранить обе версии до тех пор, пока не убедитесь, что старый не используется больше. –