【发布时间】:2013-03-04 13:39:57
【问题描述】:
在我们的 Windows 应用程序中,我们使用 BITS 上传协议(带有上传回复)将文件上传到我们的服务器,处理它们,然后等待响应。 有时服务器细化可能会很长(>=10 分钟),我们会遇到超时问题。
根据文档http://download.microsoft.com/download/9/5/E/95EF66AF-9026-4BB0-A41D-A4F81802D92C/[MC-BUP].pdf
3.1.2.2 上传响应超时 此计时器限制接收第 2.2 节中提到的任何响应所花费的时间 服务器,无论涉及的状态转换如何。默认 值为 5 分钟;合法范围是任何正值。
有没有办法改变 5 分钟的默认值?如何设置更高的值?
谢谢。
【问题讨论】:
-
所以,客户端超时等待服务器响应。您是在编写服务器代码,还是编写客户端代码?如果是客户端,您使用的是哪个 API(如果有)?
-
我正在编写客户端,使用我们的专有语言我只能使用 BITSADMIN.exe 命令行驱动 BITS 命令(我知道这很糟糕......)我不能使用任何 API。与此同时,我可能找到了两个解决方案: - 超时的服务器端句柄 - 设置注册表项以扩大超时。我正在测试它们...
-
我看不出服务器如何处理它,除非它可以向客户端发送一个 HTTP 标头,建议它应该等待多长时间。但是,从文档看来,计时器是客户的私人事务。因此,注册表项将是最有可能的选择。你确定你真的想使用 BITS 作为请求/响应协议吗?服务器在完成后回调客户端会更有意义。 5 分钟对于客户端保持会话来说是相当长的空闲时间。
-
我只能使用 BITS 如果不重写所有内容,我别无选择 :-( 几个小时后我会写出解决方案,花了很长时间才找到答案!感谢您的关注.
-
很遗憾你不能安排它以便服务器立即返回一个回复,其中包含“回复”准备好的时间估计,以及一个标识符在哪里获取它。然后您的客户可以稍后安排 BITS 下载作业。