使用异步WCF调用时的请求限制?

时间:2010-11-01 21:50:24

标签: wcf asynchronous

我在循环中使用异步wcf调用(比如循环运行45次迭代)

        ServiceClient client = ServiceClientFactory.Instance().GetServiceClient();

        for (int count = 0; count < 45; count++)
        {

            client.BeginSendCount(textBox1.Text, client_SendCountCompleted , client);

        }

当发生这种情况时,并非所有请求都在服务中收到(仅收到20个请求)。但如果我同步执行,则在服务器上接收所有呼叫。

我正在使用NetTcp绑定以及以下设置

closeTimeout = “00:01:00”       openTimeout =“00:01:00”receiveTimeout =“00:01:00”sendTimeout =“00:01:00”

[在这里我尝试按照其他一些论坛的建议减少超时,这没有任何区别]

此外,我在服务器端使用带有“NoConcurrency”的SingleInstance(我已经考虑过,这是这种情况的最佳设置)。并托管在Windows服务中。

有人有想法吗?

帮助表示感谢。

/ BB

1 个答案:

答案 0 :(得分:1)

您使用什么来托管服务? IIS可能会决定它被淹没并停止接收请求。我会调查这些设置。或者你可能会找到一种避免这么多请求的方法。