Когда вы добавляете ссылку на службу, VS генерирует прокси-класс для службы.Этот класс реализует интерфейс, определенный вашей конечной точкой службы как его ServiceContract, поэтому он, кажется, потребляет код, как если бы он был фактическим объектом, выполняющим операции, но он содержит и использует канал связи, определенный конечной точкой, и привязки для вызова предоставляемой службыметоды.
Если у вас нет классов, которые соответствуют сигнатурам DataContracts, необходимых для службы, VS также сгенерирует эти классы, но если вы уже ссылались на классы, которые помечены идентично DataContract (обычно потому, чтовы ссылались на проект, содержащий DataContracts в проекте, с кодом на стороне клиента), он просто будет использовать их.Svcutil (инструмент командной строки) также может быть предоставлен список ссылок для этих DataContracts.