【发布时间】:2010-11-01 21:50:24
【问题描述】:
我在循环中使用异步 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
【问题讨论】:
-
我确信一些绑定选项提供了保证有序和可靠(即确认)交付的能力......
标签: wcf asynchronous