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