Что я должен передать в дуплексный контекст экземпляра клиента WCF
Вот сгенерированный прокси для моего дуплексного сервиса WCF:
public partial class MyWcfServiceClient : System.ServiceModel.DuplexClientBase<Ifa.WcfClients.ServiceReference1.IMyWcfService>, Ifa.WcfClients.ServiceReference1.IMyWcfService {
public MyWcfServiceClient(System.ServiceModel.InstanceContext callbackInstance) :
base(callbackInstance) {
}
.
.
.
}
Я хочу наследовать от этого класса и построить новый класс, как это:
public class WcfClientBase : MyWcfServiceClient
{
public WcfClientBase() : base(???)
{
}
somemethod1(){....}
somemethod2(){....}
}
Моя проблема в том, что базовому классу нужен аргумент InstanceContext
, Что я должен передать в качестве этого аргумента?
1 ответ
Решение
Это дуплекс, верно? Это означает, что сервер передает результаты обратно через обратные вызовы.
Таким образом, клиент должен указать класс, который имеет эти методы обратного вызова - который будет вызываться при ответах с сервера.
Вам нужно написать класс, реализующий интерфейс обратного вызова (это будет частью вашего контракта на обслуживание), а затем передать объект этого класса в InstanceContext.