将回调对象传递给WCF服务方法

时间:2009-08-11 07:40:35

标签: wcf

是否可以将回调对象(使用回调方法)传递给wcf服务方法?

我们假设我有以下课程:

class Callback
{
     public Callback(){}
     public int GetSomeData(int param)
     {
       return param;
     }
}

是否有可能以某种方式拨打电话:

WCFServiceProxy proxy = new WCFServiceProxy();
Callback myCallback = new Callback();
proxy.SomeMethod(myCallback);

并在客户端实现服务调用GetSomeData()? 或者对此有什么用?

2 个答案:

答案 0 :(得分:1)

请参阅Duplex Services

答案 1 :(得分:0)

是的,你可以这样做。您必须定义一个用作回调协定的辅助接口。

[ServiceContract]
public interface ICallback
{
    [OperationContract(IsOneWay=true)]
    void InvokeCallback();
}

[ServiceContract(CallbackContract=typeof(ICallback)]
public interface IContract
{
    [OperationContract]
    void DoSomething();
}
[ServiceBehavior]
public class MyService : IContract
{
    void DoSomething() { }
}

这是基本方法。我强烈建议查看Juval Lowy的网站IDesign.net。他的下载部分有几个如何执行此操作的示例。