2010-11-09 126 views
3

Book Essential WCF声称NetTcpBinding.MaxConnections限制连接到端点的数量。因此,如果属性值设置为10,那么只有10个并发连接将被允许到该端点。NetTcpBinding.MaxConnections是否限制到端点的并发连接数或...?

但下面的博客http://kennyw.com/work/indigo/181要求该物业,该酒店不限制并发连接数,而是只指定了由另一通道进行高速缓存和重用的连接的最大数量:

为的MaxConnections TCP不是硬件 和快速限制,而是 上的连接,我们将在连接池中缓存 。也就是说,如果你设置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层等待接受的连接数量?

因此,如果属性设置为10,那么只有10个连接将被允许等待被接受,并且如果另一个连接尝试等待,它会立即被拒绝?

回答

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

+0

你能看到我的编辑? – user437291 2010-11-09 19:49:40

+0

“在服务器上,它是ServiceModel层尚未接受的连接限制)”是不是通过ListenBackLog属性实际设置了此限制? – user437291 2010-11-09 19:58:52

相关问题