WCF请求通道超时错误

时间:2011-01-27 02:25:43

标签: timeout wcf wcf-client

我有一个以高频率调用WCF服务的应用。该应用程序开始工作正常,然后几分钟后,每个调用开始生成此错误:

System.TimeoutException:请求通道在00:02:00之后尝试发送超时。增加传递给Request的调用的超时值或增加Binding上的SendTimeout值。

我已经尝试了一切我能想到的解决这个错误的方法,例如:

  • 在服务上设置多个并发模式:

[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple)] public class ListingService : IListingService

  • 在服务web.config中设置最大并发呼叫/会话/实例的上限:

serviceThrottling maxConcurrentCalls="100000" maxConcurrentSessions="100000" maxConcurrentInstances="100000"

  • 在服务的global.asax上的application_start上设置更高的servicepointmanager defaultconnectionlimit:

protected void Application_Start(object sender, EventArgs e) { System.Net.ServicePointManager.DefaultConnectionLimit = 100000; }

  • 确保关闭客户端连接:

using (var client = new ListingServiceClient()) { client.SaveListing(listing); client.Close(); }

以下是服务web.config - http://pastebin.com/d9qtZUKN

但是,我仍然收到错误。我确信服务电话不需要那么久。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

问题是db超时导致WCF超时。