Причина, по которой это происходит в вашем случае, заключается просто в том, что сам код службы WCF
был изменен, перекомпилирован (и, по существу, развернут в отладчике), в то время как клиент, имеющий теперь устаревшую ссылку на службу, ожидает и зависит от что-то, подверженное этому изменению и, следовательно, конфликты.
Обновление сервисной ссылки для клиента исправит эту проблему.
Чтобы продолжить, вышесказанное не означает, что вы не можете изменить какой-либо код внутри самой службы, если на него ссылается клиент (без прерывания клиента), поэтому такая проблема предполагает существенные изменения в некоторых частях служба, от которой зависит клиент, например, подписи открытых методов, существующие DataMember
свойства существующих DataContract
типов и т. п.
В отличие от этого, вы можете изменить тело метода существующих вызовов службы на удовлетворение вашего сердца (клиенту все равно как служба работает, как заставить работать) ); Вы также можете добавлять новых членов к существующим составным типам DataContract
, чтобы новые клиенты могли легко использовать ваши обновления, предотвращая сценарии типа DataType2
с избыточностью и т. д.