使用WCF客户端时可能会经常遇到下面的这个错误:
请求通道在等待 00:01:00 以后答复时超时。增加传递给请求调用的超时值,或者增加绑定上的 SendTimeout 值。分配给此操作的时间可能是更长超时的一部分。
基本上是连接数过多,WCF默认为10个连接数,如果连接的客户端超过10个后,将访问不到服务.
解决方案:
- 首先客户端每次调用服务完成后调用close进行关闭.否则此连接会在设置的会话(一般为10分钟)后才自动关闭.
- 增加连接数.配置文件如下:
<serviceThrottling maxConcurrentCalls="100" maxConcurrentSessions="50" maxConcurrentInstances="10" />
说明:
maxConcurrentCalls :最大并发数,默认为16
maxConcurrentSessions :最大的会话数,主要针对于PerSession的情况,默认为10
maxConcurrentInstances:最大实例数,默认为Int32.MaxValue(很多地方说是26,不知从何而来.MSDN上说是Int32.MaxValue)