Из прочитанного мною чтения у меня сложилось впечатление, что DataContractSerializer обрабатывает проблемы версий, если членов в запросе нет, он установит значение по умолчанию, и если дополнительные элементы находятся в запросе, но не в При определении сериализатор просто игнорирует эти поля и не обрабатывает их.
Во-первых, верно ли это предположение?
Во-вторых, не могли бы вы использовать этот DataContractSerializer вместо XMLSerializer, чтобы добавить возможность управления версиями к старым веб-службам asmx? По сути, если вы добавляете новых участников в запрос схемы веб-службы, вам не нужно отправлять их каждому клиенту? Получив запрос от клиента, вы можете десериализовать с помощью DataContractSerializer в ваш объект.
Надеюсь, это имеет смысл