首页 > 解决方案 > WebClient 随机行为

问题描述

我有非常简单的代码,可以从 Web 服务器下载文件,这里是代码。正如我所说,这是非常基本的

// use the web client to download
using (var client = new WebClient())
{
    // download locally
    client.DownloadFile(from, to);
}

但是对于某些客户端,该文件不会完全下载并且不会引发异常。所有这些客户端都来自不同的位置,并且都具有相同的行为,即WebClient下载 10mb 以上的任何文件的 10mb。8mb 文件是 8mb,20mb 文件是 10mb,34mb 文件是 10mb。有趣的是,我们要求这些用户停止使用该软件。

这个问题与计算机无关,因为我们有很多笔记本电脑上的用户,他们在家中下载工作正常,但在他们工作时却没有,有些完全相反,下载在工作中不起作用,但它在工作中。同一实体办公室内的客户的行为也不同。

我们试图与他们的 IT 人员交谈,他们在我们的 http 可浏览目录上下载许多超过 10mb 的文件没有问题,而且效果很好,他们说他们从来没有遇到过这样的问题。这个问题似乎越来越广泛,自从上次 Windows 10 更新以来,更多的客户端开始出现这个问题。

作为旁注,此下载代码已保持不变并运行了 5 年,几乎没有出现任何问题。

有谁知道为什么在没有下载整个文件的情况下下载会完成而没有任何错误(在 try..catch 中)?以及为什么所有这些有问题的不同客户都会被削减到 10,000 字节。

想要补充一点,我们过去曾尝试为这些用户重新安装 .NET Framework,但没有任何结果认为这一定是个问题

我刚刚编辑添加了一些额外的细节,即他们尝试下载的文件位于匿名访问文件夹中,因此无需登录并且可以浏览。所有有问题的用户都可以使用 Chrome 和 Edge 导航到文件夹并右键单击并下载,这样文件就完成了。只有 .NET 无法在其 PC 上下载 10mb 以上的文件。

标签: c#webclient

解决方案


推荐阅读