gpt4 book ai didi

.net - WebClient.DownloadFile 在发送第一个请求之前花费的时间太长

转载 作者:行者123 更新时间:2023-12-05 08:24:30 25 4
gpt4 key购买 nike

我编写了一个非常简单的控制台应用程序,它只是使用以下代码下载一个文件:

System.Net.WebClient web = new System.Net.WebClient ();
web.DownloadFile ("http://www.google.com", "file.txt");

在我以前的开发机器上,这是非常快的。我一执行 DownloadFile 方法,请求就通过网络发送,响应很快就回来了。我使用 ProcMon 工具检查了这种行为。

然而,在切换到另一台机器后,这台机器恰好比我最初的开发箱强大得多,我注意到在调用 DownloadFile 时大约 5-8 秒内没有任何反应。使用浏览器访问相同的 URL 几乎可以立即显示结果。

在花了几个小时研究这个问题,单步执行 .NET 源代码后,我最终放弃了 System.Net.ServicePointManager.FindServicePoint,在这种情况下单步执行对我来说已经不再有意义了,并且某些代理解决方案似乎是有原因的。

我最终在 Internet 选项 对话框的 LAN 设置 对话框中关闭了自动检测设置,在 Internet Explorer 8 中找到(我我正在运行 Windows 7 x64),留下未设置复选框的对话框。这神奇地让一切都变得非常非常快。没有更多的延迟。

好吧,我已经找到了一种方法来规避我观察到的问题,但如果有人可以就我的代码可能存在的问题分享一些想法,我会很高兴。我可以通过某种方式配置 WebClient 实例以某种方式实现相同的效果吗?

最佳答案

您是否尝试过显式设置代理?

web.Proxy = new WebProxy();

这基本上等同于说,“根本不要使用代理 - 甚至不要尝试。”

关于.net - WebClient.DownloadFile 在发送第一个请求之前花费的时间太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4718056/

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