ChannelFactory和CreateChannel()打开一次或每次使用

时间:2011-09-23 09:22:34

标签: c# .net wcf

我在一些后工作线程中使用了该通道。

使用率是每两秒一次,连接始终是同一台服务器。

最好的方法是:

一个。应用程序启动时打开一次通道并在整个应用程序生命周期内使用它?    至少可能需要几周时间。

B.合同渠道工厂一次和每次运行我的工作线程开放渠道,最后关闭它。

感谢您的想法。

1 个答案:

答案 0 :(得分:1)

ChannelFactory是缓存和重用的理想选择。因此,创建一个静态ChannelFactory是完全可以接受的。另一方面,频道可能有超时,它们可能会进入损坏的状态等。所以,如果你愿意处理所有这些方面问题,你也可以缓存频道,但根据我的经验,创建每个通信的频道是如此便宜每次通信都使用一个频道是一种很好的做法。