代码之家  ›  专栏  ›  技术社区  ›  skolima

WebClient上载文件错误

  •  2
  • skolima  · 技术社区  · 15 年前

    我正在尝试使用System.Net.WebClient.UploadFile将文件上载到web服务器,但我一直收到一个WebException。具体来说,我有3个错误。我不知道为什么我没有得到同样的错误,但他们似乎都是相关的基础上,我发现网上。

    • 请求已中止:请求已取消。
    • 连接已关闭。再试一次。

    它似乎有点随机(不总是相同的文件、时间量或任何其他我能理解的模式)。此外,这种情况不会发生在我的工作网络上(上传时间不到2秒),而是通过DSL在家中发生(上传时间约为2分钟)。

    我想这可能与超时有关,但我不明白为什么。服务器是ASP.NETMVC,超时设置为一小时。

        <httpRuntime
            maxRequestLength="10024" 
            executionTimeout="3600"
            /><!-- 10024 = 10MB, 3600 = 1hr -->
    

    我对两种方法都感兴趣,一种是修复此问题以避免其发生,另一种是恢复技术(简单地再次发出请求似乎并不有效)。

    在某些背景下,这是用于将照片上载到服务器的WinForms应用程序。服务器是一个ASP.NETMVC应用程序。客户端已经正常工作了很长一段时间,但现在失败了,因为我将它切换到ASP.NETMVC(它使用的是带有SA FileUp的经典ASP)。客户端只是为了适应新的URL而改变,不同的是它几乎是一样的。

    1 回复  |  直到 15 年前
        1
  •  2
  •   skolima    13 年前

    如果WebClient在文件传输期间超时,将引发异常“请求已中止:请求已取消”。如果没有进行文件传输,您将看到“操作已超时”。

    更新:我创建了一个WebHelper类,它取代了WebClient,但提供了对底层WebRequest必要功能的更多访问。它还通过WebClient提供了一系列附加功能。如果您感兴趣,可以在 BizArk project 在CodePlex上。