2

我正在开发一个通过 WCF 使用 SOAP 服务的项目。最初,我们使用生成的服务引用,因为它很容易上手。这提供ChannelFactory了开箱即用的缓存和基于任务的异步方法,这显然是可取的。

我们最近切换到使用服务接口并实例化我们自己的ChannelFactory. 我们将ChannelFactory视为一个单例对象来缓存它。关于缓存ChannelFactory——我被告知ChannelFactory如果某个通道出现故障,a 可能会变坏。这是一个真正的问题吗?

我的第二个问题是关于使用基于任务的异步调用,例如使用服务引用时生成的异步调用。使用时如何做到这一点ChannelFactory<T>?我知道您可以在Twith上注释方法[OperationContract(AsyncPattern = true)],但这些返回IAsyncResult而不是Task

任何帮助,将不胜感激。

4

0 回答 0