我在循环中使用异步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
答案 0 :(得分:1)
您使用什么来托管服务? IIS可能会决定它被淹没并停止接收请求。我会调查这些设置。或者你可能会找到一种避免这么多请求的方法。