Что я должен передать в дуплексный контекст экземпляра клиента 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.

Другие вопросы по тегам