0

我有向其客户端发送消息的 WCF 服务。我想异步调用回调方法。我已阅读此答案: WCF 异步回调

但是有一个问题。当我从 WebServiceReference 生成 IMyServiceCallback 时,它同时包含同步和异步方法(而在服务端,只有异步方法的回调合同 - BeginCallbackMethod 和 EndCallbackMethod)。更重要的是,当我从 MyService 调用回调 BeginCallbackMethod 时,在客户端(在回调实现中)它使用的是同步 CallbackMethod。问题是为什么?有没有办法配置它?

4

1 回答 1

0

默认情况下,如果同步和异步都存在,WCF 将调用操作的同步版本;我不知道如何(或是否)可以更改该逻辑,但您可以做的一件事就是从生成的回调接口中简单地删除同步方法。回调代码应该继续工作,它将使用异步实现。您也可以[OperationContract]从同步版本中删除该属性,以达到相同的效果。

于 2012-10-24T17:43:22.957 回答