【问题标题】:wcf service with call back configuration带有回调配置的 wcf 服务
【发布时间】:2013-10-24 05:49:09
【问题描述】:

您好,我需要创建带有回调的 wcf 服务。因为服务需要更新windows UI才能长时间运行。你能帮我配置合适的 wcf 服务和客户端吗?

【问题讨论】:

    标签: asp.net .net wcf wcf-data-services wcf-binding


    【解决方案1】:

    在 web.xml 中配置为 wsdualhttpbinding。因为在使用回调方法时,http 是一种无状态协议,因此您需要依次使用 wsdualhttpbinding 来调用在客户端实现的方法。

    使用回调方法定义接口并在客户端实现该方法。

    定义和配置回调合约:

    public interface IMyContractCallback
    {
        [OperationContract]
        void OnCallback();
    }
    [ServiceContract(CallbackContract = typeof(IMyContractCallback))]
    public interface IMyContract
    {
        [OperationContract()]
        void MyMethod();
    }
    

    客户端回调设置:

    class MyServiceClient:DuplexClientBase,IMyContract
    {
        public MyServiceClient(InstanceContext callbackCntx)
            : base(callbackCntx)
        {            
        }
        public void MyMethod()
        {
             base.Channel.MyMethod();
        }
    }
    

    服务端回调调用:

    IMyContractCallback
    callbackInstance=OperationContext.Current.GetCallbackChannel();
            callbackInstance.OnCallback();
    

    【讨论】:

      猜你喜欢
      • 2013-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-13
      • 1970-01-01
      • 1970-01-01
      • 2013-06-10
      • 2011-05-29
      相关资源
      最近更新 更多