简短版本:当我在使用双工通信的客户端上使用 ChannelFactory 创建通道时,是否需要保持通道打开才能接收回调,或者我可以调用 ChannelFactory.Close()?
长版:我正在开发我的第一个 WCF 服务,并且我创建了自己的 ClientProxy 类,它实现了几个不同的服务并将其合并为一个。我使用 ChannelFactory 来创建每个通道,我在网上的一般阅读表明我应该缓存 ChannelFactory,但我应该只在需要时打开和关闭实际通道。
所以我调用 ChannelFactory.Open 来打开一个通道并执行一个双工操作(单向操作,后来调用回调)。我是否应该在请求操作后通过调用 ChannelFactory.Close 来关闭此频道,如果我这样做了,我还会收到回调吗?
基本测试似乎表明,如果我关闭连接,我将收到回调,但我只是想确定一下。另外,这种缓存 ChannelFactory 的方法是否正确?
谢谢