合同需要Duplex,但Binding'BasicHttpBinding'不支持它,或者没有正确配置以支持它

时间:2012-01-16 13:31:47

标签: wcf silverlight-4.0

我的项目是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);
  }

当我在没有CallbackContract的情况下定义IServiceSide时,这是正确添加到silverlight项目,但是当我使用CallbackContract时,在添加Service Referense时会出现此错误:  “合同需要Duplex,但Binding'BasicHttpBinding'不支持它,或者没有正确配置以支持它。”

1 个答案:

答案 0 :(得分:1)

BasicHttpBinding不支持双工服务。您必须使用PollingDuplexHttpBinding