Book Essential WCF声称NetTcpBinding.MaxConnections
限制了与端点的连接数。因此,如果将property设置为值10,则只允许10个并发连接到该端点。
但是以下博客http://kennyw.com/work/indigo/181声明此属性此属性不限制并发连接数,而是仅指定将被另一个通道缓存和重用的最大连接数:
TCP的MaxConnections并不难 和快速限制,而是一个旋钮 我们将缓存的连接 我们的连接池。也就是说,如果你 设置MaxConnections = 2,你仍然可以 同时打开4个客户端频道 工厂同时。但是,什么时候 你关闭所有这些渠道,我们 只保留其中两个 周围的连接(受制于 当然是IdleTimeout) 频道使用。这有助于提升绩效 如果你正在创建和 处理客户端渠道。这个旋钮 也适用于等效的 在服务器端的用法(那个 是,当服务器端渠道是 关闭,如果我们少于 我们的服务器端池中的MaxConnections 我们将启动I / O寻找 另一个新的客户渠道。)
这是真的吗?
编辑:
首先,你的意思是NetTcpBinding.MaxConnections,对吧?
是的,谢谢...我已经纠正了错字
请参阅http://msdn.microsoft.com/en-us/library/system.servicemodel.nettcpbinding.maxconnections.aspx上的官方文档,特别是http://msdn.microsoft.com/en-us/library/ms731078.aspx - 行为实际上是不同的,这取决于它是服务器还是客户端,但在任何情况下都不是对连接数的硬性限制。 (在客户端上,它是对池的连接的限制,并且在服务器上它是对ServiceModel层尚未接受的连接的限制)。
a)我假设“汇集”是指其他渠道将重复使用的连接数。但是博客说客户端和服务器都是这种情况,如果我理解正确,你在服务器上说它意味着等待ServiceModel层接受的连接数量?
因此,如果property设置为10,那么只允许10个连接等待接受,如果另一个连接试图等待,它将立即被拒绝?
答案 0 :(得分:2)
首先,你的意思是NetTcpBinding.MaxConnections
,对吧?
请参阅http://msdn.microsoft.com/en-us/library/system.servicemodel.nettcpbinding.maxconnections.aspx上的官方文档,特别是http://msdn.microsoft.com/en-us/library/ms731078.aspx - 行为实际上是不同的,这取决于它是服务器还是客户端,但在任何情况下都不是对连接数的硬性限制。 (在客户端上,它是对池的连接的限制,并且在服务器上它是对ServiceModel层尚未接受的连接的限制)。