我们有一个服务(A)调用另一个WCF服务(B)。
服务B的默认值为
<serviceThrottling
maxConcurrentCalls="16"
maxConcurrentSessions="10"
maxConcurrentInstances="26" />
服务A最多可以产生150个线程,其中一些线程可以调用服务B.
如果服务A调用的服务B超过最大并发连接数,会发生什么?
服务B(WCF)是否会抛弃它们或将它们存储在队列中?
答案 0 :(得分:3)
客户端被阻止,直到连接可用。
当然,此行为表示存在另一个队列,持有等待连接请求。我假设队列有自己的阈值,所以一旦有最大数量的等待连接,进一步的传入请求将被丢弃。 (这只是我的猜想,我不知道这个理论队列在哪里配置。.....有人吗?)。
我实际上在自动化测试中遇到了一个问题,即连接没有被丢弃,这最终导致我的系统挂起,因为达到了阈值。