gpt4 book ai didi

c# - WebClient.DownloadString 慢?

转载 作者:行者123 更新时间:2023-11-30 18:39:31 25 4
gpt4 key购买 nike

我正在开发一个使用 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 协议(protocol)的问题。

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

[编辑] 我试过了:

  • 将 WebClient 对象的 Proxy 属性显式设置为 null
  • 我已经用这段代码替换了 DownloadData 调用:

    var req = (HttpWebRequest)WebRequest.CreateDefault(new Uri(targetUrl));使用 (var response = (HttpWebResponse)req.GetResponse()){ 使用 (var sr = new StreamReader(response.GetResponseStream())) { 数据= sr.ReadToEnd(); }

此测试均未成功。

最佳答案

尝试使用Fiddler或 Chrome/FF 浏览器中的一些集成网络分析器,以查看 HTTPS 请求/响应及其 header 。

关于c# - WebClient.DownloadString 慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9581369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com