我试图弄清楚如何设置我的channelFactory和频道 - 重用相同的实例,而不是为每个调用创建新的。我做了很多研究,看到很多相互矛盾的观点。我得出以下结论,但我不确定,所以我想听一些专家建议。
使用.NET 4,我创建了一个频道工厂,添加了一个端点行为,然后进行了调用。
似乎我应该重复使用相同的渠道工厂实例,但可能是最安全的,以确保它首先因为任何原因而出现故障
如果工厂出现故障,请尝试使用factory.close()和catch factory.abort()
似乎每次调用都不会产生很多开销.CreateChannel()可能比共享频道更安全。
对于每次通话,我都应该尝试((IChannel)_client).Close()和一个catch((IChannel)_client).Abort();
还有一件事我想确认,但我不知道如何测试 - 让我说我重用频道然后频道进入故障状态 - 如果我没有代码先检查通道的状态,那会发生什么?
或者我应该分享我的频道 - 在第一次通话时自动打开,直到我关闭表格才关闭?