【问题标题】:Too many WCF channelsWCF 频道太多
【发布时间】:2012-10-16 22:49:06
【问题描述】:

在我们的系统中,有多个“站点”通过 WCF 相互通信。每个站点通过 NetTCP 绑定公开约 20 个接口。

当一个站点使用对等站点的接口时,它将为每个通道打开一个单独的 TCP 套接字。这意味着如果我想定期使用所有接口,大约 20 个 TCP 套接字将为每个对等站点保持打开状态。

目前每个站点的对等点数量相对较少(10-15 个),但在不久的将来必须增加到约 100 个。我担心的是,这将要求每个站点有大约 2000 个传入套接字,这似乎过多。我不能把手指放在一个特定的问题上,但它只是感觉不对。例如,这大大超过了 WCF 的默认 MaxConcurrentConnections(默认值为 10)。

这对系统来说是一个好的设计吗?我是否应该考虑将所有这些界面整合到一个界面(因此也就是一个通道)中?我能否在单个频道上同时发送消息(我认为不能)?或许我应该考虑一个消息队列系统?

欢迎任何 cmets 或想法。

【问题讨论】:

标签: c# wcf


【解决方案1】:

您是否尝试过启用端口共享?即http://msdn.microsoft.com/en-us/library/ms734772.aspx

【讨论】:

  • 也许我读错了,但我认为这对我没有帮助。我担心的是单个客户端必须打开 20 个不同的套接字才能使用所有服务。即使使用 PortSharing 也不会有这种情况吗?客户仍需致电,例如ChannelFactory.CreateChannel 每个接口。
猜你喜欢
  • 2015-02-02
  • 1970-01-01
  • 2016-08-21
  • 1970-01-01
  • 2013-02-18
  • 1970-01-01
  • 2017-12-12
  • 1970-01-01
  • 2016-05-09
相关资源
最近更新 更多