2012-10-24 266 views
0

我有WCF服務發送消息給客戶端。我想異步調用回調方法。我已經讀過這個答案: WCF asynchronous callbackwcf異步回調

但是有一個問題。當我從WebServiceReference生成IMyServiceCallback時,它包含同步和異步方法(而在服務端則只有異步方法的回調協定 - BeginCallbackMethod和EndCallbackMethod)。當我從MyService調用回調BeginCallbackMethod時,在客戶端(在回調實現中)它使用的是同步CallbackMethod。問題是爲什麼?有什麼辦法可以配置它嗎?

回答

0

默認情況下,如果同時存在同步和異步,WCF將調用操作的同步版本;我不知道如何(或者如果)你可以改變這個邏輯,但你可以做的一件事就是從生成的回調接口中刪除同步方法。回調代碼應該繼續工作,它將使用異步實現。您也可以從同步版本中刪除[OperationContract]屬性,以達到相同的效果。