C# 如何为双工服务添加WCF服务引用?

C# 如何为双工服务添加WCF服务引用?,c#,.net,web-services,wcf,webservice-client,C#,.net,Web Services,Wcf,Webservice Client,我有一个带有回调的WCF服务。我想创建一个客户机,但我想使用VisualStudio中的“添加服务引用”自动创建一个客户机。我能够发现服务并添加它。我也可以更新服务参考。就在那里。问题在于如何从中创建客户机 如果服务名称是(在服务引用中)“MyService”,则为正常(非回调)服务创建客户端将是: var myService = new MyServiceClient(); var data = myService.GetData(); myService.Close(); 但是,如果服务实

我有一个带有回调的WCF服务。我想创建一个客户机,但我想使用VisualStudio中的“添加服务引用”自动创建一个客户机。我能够发现服务并添加它。我也可以更新服务参考。就在那里。问题在于如何从中创建客户机

如果服务名称是(在服务引用中)“MyService”,则为正常(非回调)服务创建客户端将是:

var myService = new MyServiceClient();
var data = myService.GetData();
myService.Close();
但是,如果服务实现回调接口,我该怎么做呢? 我必须为客户端添加上下文作为参数,如下所示:

InstanceContext context = new InstanceContext(????);
var myService = new MyServiceClient(context);
var data = myService.GetData();
myService.Close();
但是!我必须将实现回调接口的客户端传递到
InstanceContext
。有没有一种方法可以通过回调快速为wcf服务添加客户端


谢谢你的帮助

必须创建回调处理程序:

public class MyServiceCallbackHandler : IMyServiceCallback
{
    public void Result(Data data)
    {
    }
}
并将其传递给
InstanceContext

InstanceContext context = new InstanceContext(new MyServiceCallbackHandler());
var myService = new MyServiceClient(context);
var data = myService.GetData();
myService.Close();