C# 操作 Response影响超时,如何避免?
Response影响超时try{for(inti=0;i<5;i++){WebRequestrq=WebRequest.Create("http://www.adc.co...
Response影响超时 try {
for (int i = 0; i < 5; i++) {
WebRequest rq = WebRequest.Create("http://www.adc.com/aaa/it/Lili.jpg");
WebResponse rp = rq.GetResponse();
rp.Close();
rq.Abort(); }
}
catch{ }
将上面的方法放到Threading 进程中
GetResponse()这里[有时]会出现“超时”从而进入catch中,如何去避免,其实这个URL是存在的,如何操作,可以不让其超时,这个URL是存在的啊..... 展开
for (int i = 0; i < 5; i++) {
WebRequest rq = WebRequest.Create("http://www.adc.com/aaa/it/Lili.jpg");
WebResponse rp = rq.GetResponse();
rp.Close();
rq.Abort(); }
}
catch{ }
将上面的方法放到Threading 进程中
GetResponse()这里[有时]会出现“超时”从而进入catch中,如何去避免,其实这个URL是存在的,如何操作,可以不让其超时,这个URL是存在的啊..... 展开
1个回答
展开全部
rp.TimeOut = 3000; //设置超时时间为 3 秒...
更多追问追答
追问
超时 设置了也不管用的
追答
你试试看这样去处理,尝试连接3次,如果3次都超时,那就放弃。
我做的一些手机网络游戏的服务器列表就是用Http Get抓页面取得的,有时候会有取不到的时候,就用这个方法,效果还不错。
///
/// 单个获取过程
///
public void SingleRequest(string url)
{
bool isFailed = false;
int failedTimes = 3;
WebRequest rq;
WebResponse rp;
for(int i=0; i<failedTimes; i++)
{
try
{
rq = WebRequest.Create(url);
rp = rq.GetResponse();
}
catch(TimeoutException)
{
isFailed = true;
}
//关闭Req, Res,代码省略
//…
if(!isFailed) break;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询