我注意到当我在wcf服务端点中设置<serviceThrottling maxConcurrentCalls="2"
[仅用于测试]并激活两个保持活动状态的通话并激活第三个通话时,客户端是创建的并打开没有任何问题。Maxconcurrentcalls设置和打开通信通道
我会预料到由于maxConcurrentCalls打开失败,但事实并非如此。只有在sendtimeout达到后,通信才会发出异常。
我更喜欢在达到maxConcurrentCalls时打开一个通道会失败。有没有可能配置这样的行为?
我错过了排队的事情,它等待一个空闲的插槽。我认为这只发生在消息队列中?难以排队吗?顺便说一句,我在测试中断开连接,从未关闭它们。 – Gerard
我不确定你是否可以禁止排队。我不这么认为;我认为排队行为是自动的。至于关闭或不关闭连接,在选择绑定时需要考虑这一点。如果您使用的是以basichttpbinding或wshttpbinding为中心的以http为中心的绑定,关闭连接不会影响主机,只会影响客户端。但是,如果您使用的是TCP绑定,那么我认为连接可以持续,因此应该明确关闭连接。 – Brian
我们使用的是wshttpbinding,但是当我在客户端上处理连接时,主机有一个空闲插槽,当我不处理它时没有。 – Gerard