Нет, не совсем. Помните, что вы передаете не экземпляры объектов, а текстовые сообщения.
Если это действительно важно, вы можете отказаться от сгенерированных прокси-классов и поделиться реализацией объектов данных и контрактов вместо этого, однако это намного сложнее, и, конечно, вы рискуете потерять клиента и сервер синхронизации.
Если вы хотите попробовать это, поместите ваши контракты и интерфейс операций в отдельную сборку с открытыми модификаторами, а затем попробуйте следующее
Binding binding = new BasicHttpBinding(); // or which one you
EndpointAddress endpoint =
new EndpointAddress("endpointUrl");
ChannelFactory<IServiceInterface> channelFactory =
new ChannelFactory<IServiceInterface>(binding, endpoint);
IServiceInterface client = channelFactory.CreateChannel();
MyDataType result = client.Operation(myOtherDataType);
((IClientChannel)client).Close();