是否可以将回调对象(使用回调方法)传递给wcf服务方法?
我们假设我有以下课程:
class Callback
{
public Callback(){}
public int GetSomeData(int param)
{
return param;
}
}
是否有可能以某种方式拨打电话:
WCFServiceProxy proxy = new WCFServiceProxy();
Callback myCallback = new Callback();
proxy.SomeMethod(myCallback);
并在客户端实现服务调用GetSomeData()? 或者对此有什么用?
答案 0 :(得分:1)
答案 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。他的下载部分有几个如何执行此操作的示例。