【问题标题】:Property handling timeout when downloading big files下载大文件时的属性处理超时
【发布时间】:2019-03-10 20:18:32
【问题描述】:

我正在使用HttpClient 下载大文件。为了处理慢速连接,我将 Timeout 属性增加到 1 小时。

但是,如果连接停止(0 Kb/s 一段合理的时间),我希望连接被强制超时,因为这显然表明某些事情不正常。

我们如何处理这种情况?

【问题讨论】:

  • 1 小时超时并没有什么意义,最好捕获超时异常(让超时只有几秒钟),然后在必要时尝试重新连接。显然,你应该继续下载而不是从头开始下载(我不熟悉这个 API)

标签: c# .net httpclient


【解决方案1】:

我们可以将其称为慢速 HTTP 攻击(一种拒绝服务攻击)。在 IIS 7 中,您可以调整以下配置以保护您的服务:

  • 限制请求属性是通过元素,特别是 maxAllowedContentLength、maxQueryString 和 maxUrl 属性。
  • 设置以配置您的 Web 服务器将接受的标头的类型和大小。
  • 调整 and 元素的 connectionTimeout、headerWaitTimeout 和 minBytesPerSecond 属性,以尽量减少慢速 HTTP 攻击的影响。

更多信息请查看[1][2][3]

【讨论】:

  • 感谢分析器,但我不是在服务器端,而是在客户端。我想处理停滞的文件传输。
猜你喜欢
  • 2015-01-12
  • 1970-01-01
  • 2012-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-11
相关资源
最近更新 更多