太多的WCF频道

时间:2012-10-16 14:46:51

标签: c# wcf

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

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

每个站点的对等数量目前相对较小(10-15),但在不久的将来这将增长到~100。我担心的是,这将需要每个站点有大约2000个传入套接字,这似乎是过多的。我无法指出具体问题,但感觉不对。例如,这大大超过了WCF的默认MaxConcurrentConnections(默认值为10)。

这是一个很好的系统设计吗?我是否应该考虑将所有这些接口整合到一个接口(以及单个通道)?我是否能够在单个频道上同时发送消息(我想不是)?也许我应该考虑一个消息队列系统?

欢迎任何评论或想法。

1 个答案:

答案 0 :(得分:0)

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