wcf异步并发调用引发超时异常

时间:2016-09-07 14:07:07

标签: wcf concurrency

我正在使用多个线程同时从SilverLight应用程序进行10个并发异步WCF服务调用。

WCF服务将花费30秒来处理来自客户端的每个呼叫。

当第三个线程调用WCF服务器时,它会给出超时异常。当我将发送超时配置更改为10分钟时,它适用于所有线程。

所以我的困惑是,WCF通常考虑所有并发调用的超时配置。请注意,我使用的是基本的HTTP绑定。

1 个答案:

答案 0 :(得分:0)

听起来只有一个服务实例处理你的电话。如果(正如您在评论中所说)您将每会话实例化和并发设置为单一,则会发生这种情况。

这些调用被视为属于同一客户端会话,因此它们将由单个线程的单个服务实例进行排队和处理。因此,在客户端超时之前未调度的任何请求都将失败。

您应该将实例设置为每次调用,这意味着您将获得每个请求的服务实例,因此应同时处理所有10个调用。

请参阅https://msdn.microsoft.com/en-us/library/ms731193(v=vs.110).aspx