Я не совсем понимаю, что вы пытаетесь сделать - вы хотите отправить POCO с сервера на клиент: это означает, что вам нужно создать этот класс POCO, декорировать его как [DataContract] и украсить его члены, которые вы хотите сериализовать с [DataMember].
На стороне клиента вы получите сгенерированный прокси-класс на стороне клиента, который имеет тот же сериализованный проводной формат - но поскольку WCF сериализуется с использованием схемы XML в качестве наименьшего общего знаменателя, вы не можете отправлять такие вещи, как интерфейсы и т. Д. - только конкретные экземпляры классов. И на клиенте вы не получаете тот же класс, что и на сервере - только тот, который имеет тот же «внешний вид» (и формат сериализации).
Так что я действительно не понимаю, как и где вы хотите подключиться.
Одна вещь, которую вы могли бы сделать, это создать инспектор сообщений на стороне клиента на основе
public interface IClientMessageInspector
{
void AfterReceiveReply(ref Message reply, object correlationState);
object BeforeSendRequest(ref Message request, IClientChannel channel);
}
, который перехватит событие «AfterReceiveReply», а затем вы возьмете сериализованный класс POCO, попадающий через провод, и преобразуете его в другой класс, который также реализует обработчики INotifyPropertyChanged.
См. Некоторые сообщения в блоге о том, как писать и обращаться с инспекторами сообщений в WCF: