3

我们有一个服务 (A),它调用另一个 WCF 服务 (B)。

服务 B 的默认值为

<serviceThrottling 
      maxConcurrentCalls="16"
      maxConcurrentSessions="10" 
      maxConcurrentInstances="26" />

服务 A 最多可以生成 150 个线程,其中一些线程可以调用服务 B。

如果服务 A 以超过最大并发连接数调用服务 B 会发生什么?

服务 B (WCF) 是否将它们丢弃或将它们存储在队列中?

4

1 回答 1

3

客户端被阻塞,直到连接可用。

当然,这种行为表明存在另一个队列,持有等待连接请求。我假设队列会有自己的阈值,所以一旦有最大数量的等待连接,就会丢弃更多传入的请求。(这只是我的猜测,我不知道这个理论队列是在哪里配置的。......有人吗?)。

实际上,我在自动化测试中遇到了一个问题,即连接没有被丢弃,这最终导致我的系统挂起,因为达到了阈值。

https://stackoverflow.com/a/4031284/25216

于 2012-04-23T06:53:33.700 回答