NetTcpBinding.MaxConnections是否限制到端点的并发连接数或......?

时间:2010-11-09 18:37:12

标签: wcf

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个连接等待接受,如果另一个连接试图等待,它将立即被拒绝?

1 个答案:

答案 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层尚未接受的连接的限制)。