2017-08-03 159 views
0

我有一個帶回調的WCF服務。我想創建一個客戶端,但是我想使用Visual Studio中的「添加服務引用」自動執行此操作。我能夠發現服務並添加它。我也可以更新服務參考。所以它在那裏。問題在於創建一個客戶端。如何爲雙工服務添加WCF服務參考?

如果服務名是(在服務引用)「爲MyService」,那麼對於一個正常(非回調)服務創建客戶端將是:

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

但我怎麼能這樣做,如果該服務實現了Callback接口? 我要補充的上下文作爲參數的客戶端,就像這樣:

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

但是!我必須將實現回調接口的客戶端傳遞到InstanceContext。有沒有辦法用回調快速添加wcf服務的客戶端?

感謝您的幫助!

回答

1

您必須創建一個回調處理程序:

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();