java webclient 下载_慢WebClient.DownloadString?

我正在开发一个使用ASP.Net 3.5运行的Web应用程序

在应用程序的某个地方,我正在调用外部系统 . 此调用包括从特定URL下载字符串:

string targetUrl = BuildMyUrl();

WebClient wc = new WebClient();

string data = wc.DownloadString(targetUrl);

此代码在可接受的响应时间(低于500毫秒)下运行良好 .

但是,在特定情况下,此响应时间超过15秒 . 我可以重现这种行为,我可以清楚地看到很长时间是在 DownloadString 电话上 .

我不明白为什么在我的场景中会发生这种情况 .

你会说:“嘿,这是目标系统很慢” . 但我无法重现我的应用程序之外的行为(我已经构建了一个隔离错误代码的小型控制台应用程序 . 永远不会遇到任何问题) .

我现在不知道在哪里了解这个问题 . 什么可能导致简单的下载数据冗长?

仅供参考:目标系统是身份验证服务 . 目标网址是实物:

httpS:// mysystem / validate?ticket = XXXYYY

也许https协议是问题所在 .

在IIS下使用WebClient类是否可以改变WebClient的行为?

[编辑]我试过了:

要将WebClient对象的 Proxy 属性显式设置为null

我用这段代码替换了DownloadData调用:

var req =(HttpWebRequest)WebRequest.CreateDefault(new Uri(targetUrl)); using(var response =(HttpWebResponse)req.GetResponse()){using(var sr = new StreamReader(response.GetResponseStream()))}

这项测试都没有成功 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值