WCF客户端链接服务超时客户端close

调用服务器端时,当点击十次后,客户端就会出现死机,然后是一份钟超时。

System.TimeoutException: 对“http://localhost:3768/”的 HTTP 请求已超过为 00:01:00 分配的超时。为此操作分配的时间可能是较长超时的一部分。

查找原因后发现客户端在使用完通道后,没有进行释放。而服务器端默认的连接数为10,所以10次后,服务器端的连接数没有释放,导致新的连接无法访问服务。

解决办法如下:

  1、首先保证客户端每次建立的连接在使用完成后进行关闭.即调用Close方法,否则此连接会在设置的会话后才自动关闭(该自动响应时间一般为10分钟,InactivityTimeOut属性),期间任何客户端也无法使用此服务.

  2、可以增加默认连接连接数.配置文件如下:

  <serviceThrottling maxConcurrentCalls="20" maxConcurrentSessions="20" maxConcurrentInstances="30" />

  说明:maxConcurrentCalls :最大并发数,默认为16

  maxConcurrentSessions :最大的会话数,主要针对于PerSession的情况,默认为10

  maxConcurrentInstances:最大实例数,默认为26

原文地址:https://www.cnblogs.com/jyz/p/1602651.html