Для контракта требуется дуплекс, но Binding 'BasicHttpBinding' не поддерживает его или неправильно настроен для его поддержки - PullRequest
0 голосов
/ 16 января 2012

Мой проект Silverlight и используется сервис Ria. Я хочу создать службу WCF, это мой код

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
  [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
  public class MessageDuplex : IServiceSide
  {
    public void Attach(string s)
    {      
    }
  }

  [ServiceContract]
  interface IClientSide
  {
    [OperationContract(IsOneWay = true)]
    void SendMessage(string s);
  }

  [ServiceContract(CallbackContract = typeof(IClientSide))]
  interface IServiceSide
  {
    [OperationContract(IsOneWay = true)]
    void Attach(string s);
  }

Когда я определил IServiceSide без CallbackContract, это правильно добавляется в проект Silverlight, но когда я использую CallbackContract, эта ошибка возникает при добавлении ссылки на службу: «Для контракта требуется дуплекс, но Binding BasicHttpBinding не поддерживает его или неправильно настроен для его поддержки».

1 Ответ

1 голос
/ 16 января 2012

BasicHttpBinding не поддерживает дуплексные службы. Вы должны использовать PollingDuplexHttpBinding .

...