现象:
绝大部分异常信息为:System.Net.WebException: The operation has timed out,即网络操作超时的异常
潜在几个原因造成:
1、对方服务器未能及时响应或网络连接问题造成网络超时,默认是1分钟不响应就超时
2、针对Web连接类操作,针对一个应用,Windows默认是最大开2个并发,当连接请求队列增加时,会有争用
3、Windows默认总的可用端口数不到4000,回收时间是4分钟,当并发连接数持续比较大时,可能无端口可用造成连接异常
很可能是上述几个原因的连锁反应造成持续的网络操作超时,
即当正在运行的两个连接发生超时(这种情况可能是偶发的),而这期间队列越积越多,连接资源被占用,造成资源释放和申请都持续等待。
解决方案:
1、针对Web连接类操作,增加并发数限制,通过配置解决
2、增加可用端口数,缩减回收时间,通过修改注册表解决
-------------------以下是配置调整说明-------------------
一、 增加Web连接类操作并发数限制
调整“程序名.exe.config”文件,如不存在则增加文件,
添加一下节点内容;
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.net>
<connectionManagement>
<add address="*" maxconnection="512" />
</connectionManagement>
</system.net>
</configuration>
二、增加端口数(修改注册表)
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余1页未读,立即下载
- 1
- 2
- 3
- 4
前往页