基于事件的模型客户端和通道工厂<T>



您好,我的问题是关于在WCF服务客户端基础架构中基于事件的模型客户端开发。我想知道的是,而不是使用ClientBase是有可能手动实现这种模式与ChannelFactory所以,例如,我可以写GetDataAsync客户端访问,仍然使用ChannelFactory和实现服务器端异步调用在这里?

答案取决于您是否控制服务契约。如果你可以定义服务契约,那么你可以添加相应的begin/end方法,返回/使用IAsyncResult,如这篇博文中的代码所示。

如果你不能更改服务契约,那么你必须手动创建一个异步版本的服务契约,并将其提供给ChannelFactory。ChannelFactory本身不提供服务操作调用的异步模式。您的代码最终看起来类似于这个MSDN示例中的代码。

最新更新