Я работаю над проектом, использующим веб-службы C # ASP.NET SOAP для связи между сервером и клиентским настольным приложением. Один из этих веб-сервисов определяет тип, который используется как тип возврата пары функций; как следствие, этот класс также определяется в прокси-классе клиента, который автоматически генерируется из WSDL (это сложный тип в WSDL).
Теперь мне нужно изменить класс на стороне сервера. Я обеспокоен тем, что все пользователи (чье текущее приложение использует «версию 1» класса) могут работать со сбоями, как только я опубликую новую версию веб-службы (с классом «версия 2»). Конечно, я не могу ожидать, что все пользователи срочно обновятся до новой версии приложения, как только я выпущу веб-сервис.
Что я могу ожидать в таком сценарии? Что я могу сделать, чтобы предотвратить проблемы или, по крайней мере, смягчить их? Можно ли такое изменение внедрить, не нарушая все существующие установки?