WCF ChannelFactory - 重用,关闭,创建新的

时间:2016-07-28 13:31:14

标签: c# wcf dispose channel channelfactory

我试图弄清楚如何设置我的channelFactory和频道 - 重用相同的实例,而不是为每个调用创建新的。我做了很多研究,看到很多相互矛盾的观点。我得出以下结论,但我不确定,所以我想听一些专家建议。

使用.NET 4,我创建了一个频道工厂,添加了一个端点行为,然后进行了调用。

  1. 似乎我应该重复使用相同的渠道工厂实例,但可能是最安全的,以确保它首先因为任何原因而出现故障

  2. 如果工厂出现故障,请尝试使用factory.close()和catch factory.abort()

  3. 似乎每次调用都不会产生很多开销.CreateChannel()可能比共享频道更安全。

  4. 对于每次通话,我都应该尝试((IChannel)_client).Close()和一个catch((IChannel)_client).Abort();

  5. 还有一件事我想确认,但我不知道如何测试 - 让我说我重用频道然后频道进入故障状态 - 如果我没有代码先检查通道的状态,那会发生什么?

  6. 或者我应该分享我的频道 - 在第一次通话时自动打开,直到我关闭表格才关闭?

0 个答案:

没有答案