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

标签 c# .net wcf

我正在一些后台工作线程中使用 channel 。

每两秒使用一次,并且始终连接到同一台服务器。

最好的方法是:

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

乙。契约(Contract) channel 工厂一次,每次运行我的工作线程打开 channel 并在最后关闭它。

谢谢你的想法。

最佳答案

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

关于c# - ChannelFactory 和 CreateChannel() 打开一次或每次使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7526824/

相关文章:

linux - 使用 net.tcp 绑定(bind)时 MONO 返回连接被拒绝

c# - 需要描述性架构来开发 dot net 中的文件服务器

c# - Boost 数学(ibeta_inv 函数)不是线程安全的?

c# - Application.Quit() 不会退出应用程序

C#:用于插入到 sql server 的 C# 中的日期格式

c# - 有没有人写过或知道用 C# 编写的自定义内存管理器?

c# - XNA 碰撞检测与游戏速度

.net - 如何将 .NET 应用程序编译为 native 代码?

c# - 在运行时添加文本框并保存更改

c# - 尝试不断尝试,直到服务恢复