0

在我们的 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分钟的默认值?如何将其设置为更高的值?

谢谢。

4

2 回答 2

0

我们尝试修改一些注册表项(如TimeQuantaLenght),但并没有解决问题。

为了解决,首先我们扩大request timeout网站。

文档中报告的第二个:

服务器应用程序必须在五分钟内提供响应。如果服务器应用程序在五分钟内没有回复,则作业进入瞬态错误状态。当重试延迟到期时,BITS 服务器将向服务器应用程序发送另一个通知(应编写服务器应用程序来处理重复通知)。

所以我们处理重复的请求!如果是Transient ErrorBITS 协议,请尝试在为MinimunRetryDelay.

我们自己处理问题;我们用一个 GUID 标识每个传输,如果传输的 GUID 进入瞬态错误状态,然后重新启动,我们检查传输是否已经发生并处理相应的操作。

于 2013-07-16T13:40:23.953 回答
0

来自维基百科,对于上传作业BITS 需要具有 BIT 服务器扩展的 IIS Web 服务器

BITS 1.0 版仅支持下载。从 1.5 版开始,BITS 支持下载和上传。上传需要在接收端使用带有 BITS 服务器扩展的 IIS Web 服务器。

我不知道您是如何使用 BITS 协议的,但是,此页面说明了如何使用 BITS Admin 命令行工具来创建下载或上传作业并监控其进度。下面的这个开关可能会对您有所帮助:

/SetNoProgressTimeout 作业超时

设置 BITS 在出现第一个暂时性错误后尝试传输文件的时间长度(以秒为单位)。

这个其他页面描述了BITS IIS 扩展属性。我引用了你可能需要的那个。

后台智能传输服务 (BITS) 使用 ISAPI 扩展 IIS 以支持上传作业。BITS 使用这些属性来确定如何上传文件。

BITSSessionTimeout数据类型:DWORD

如果上传文件没有进展,则保持连接的秒数;当取得进展时,计时器会重置。如果达到超时,BITS 会关闭连接并清理与会话关联的数据。

于 2013-03-13T17:45:32.893 回答