我正在一些后台工作线程中使用 channel 。
每两秒使用一次,并且始终连接到同一台服务器。
最好的方法是:
一个。在应用程序启动时打开一次 channel 并在整个应用程序生命周期中使用它? 至少可能需要数周时间。
乙。契约(Contract) channel 工厂一次,每次运行我的工作线程打开 channel 并在最后关闭它。
谢谢你的想法。
最佳答案
ChannelFactory 是缓存和重用的完美候选者。所以创建一个静态的 ChannelFactory 是完全可以接受的。另一方面, channel 可能会超时,它们可能会进入损坏状态等。因此,如果您愿意处理所有这些附带问题,您也可以缓存 channel ,但根据我的经验,每次通信创建 channel 非常便宜每次通信使用一个 channel 是一种很好的做法。
关于c# - ChannelFactory 和 CreateChannel() 打开一次或每次使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7526824/