HttpWebRequest的GetRespons偶尔超时、死掉的原因及解决办法

简介:         在做一个接口的时候,部分需求时根据用户指定的Url,通过Post方式来发送数据,之前的多次调试,一直都是可以正常发送数据获取返回值,但是后来几次的调试,在没有改变代码的前提下,结果GetResponse却始终会超时死掉。 经过上网百度一共找出了下面几种原因与对应的解决办法: 1、修改DefaultConnectionLimit 为更大的值(系统默认为2) System

        在做一个接口的时候,部分需求时根据用户指定的Url,通过Post方式来发送数据,之前的多次调试,一直都是可以正常发送数据获取返回值,但是后来几次的调试,在没有改变代码的前提下,结果GetResponse却始终会超时死掉。

经过上网百度一共找出了下面几种原因与对应的解决办法:
1、修改
DefaultConnectionLimit 为更大的值系统默认为2

System.Net.ServicePointManager.DefaultConnectionLimit = 50;
2、在HttpWebRequest req = (HttpWebRequest)WebRequest.Create(v_strURL)前面添加一句垃圾回收

System.GC.Collect();

3、每次使用完HttpWebRequest 去关闭对应的http connection
req.Close();
req=null;
最好对应的HttpWebResponse也要close:
rep.Close();
rep = null;

详细代码案例:点击打开链接

更加详细的延时分析:点击打开链接

相关文章
|
8月前
|
Android开发
Android网络访问超时
Android网络访问超时
61 2
|
小程序 前端开发 JavaScript
小程序request请求回调函数异步的解决办法
小程序request请求回调函数异步的解决办法
250 0
|
网络协议 应用服务中间件
服务器CLOSE_WAIT请求太多的问题
服务器CLOSE_WAIT请求太多的问题
638 0
|
存储 安全 网络协议
WCF服务调用超时错误:套接字连接已中止。这可能是由于处理消息时出错或远程主机超过接收超时或者潜在的网络资源问题导致的。本地套接字超时是“00:05:30”(已解决)
WCF服务调用超时错误:套接字连接已中止。这可能是由于处理消息时出错或远程主机超过接收超时或者潜在的网络资源问题导致的。本地套接字超时是“00:05:30”(已解决)
726 0
|
域名解析 SQL Oracle
监听连接时间过长如何解决
当我们用PL/SQL Developer或用SQLlplus (sqlplus user/password@orcl)连接数据库的时候非常缓慢,连接有时需要30秒 左右才能正常登录到数据库,连接之后数据库一切正常。 为了能更好的解决上面的问题,我们需要有如下的一些Oracle的网络基础知识,我们一起来讨论!
监听连接时间过长如何解决
|
Java C#
HttpWebRequest的GetResponse或GetRequestStream偶尔超时 + 总结各种超时死掉的可能和相应的解决办法
原文:HttpWebRequest的GetResponse或GetRequestStream偶尔超时 + 总结各种超时死掉的可能和相应的解决办法     【问题】 用C#模拟网页登陆,其中去请求几个页面,会发起对应的http的请求request,其中keepAlive设置为true,提交请求后,然后会有对应的response: resp = (HttpWebResponse)req.GetResponse(); 之前的多次调试,一直都是可以正常获得对应的response,然后读取html页面的。
2276 0