0

根据我们的测试,问题(上传失败)似乎是在锁定计时器到期后发生的。文档可以在计时器到期之前多次保存,但是一旦超过锁定时间,如果用户尝试保存 word 文档,则会显示黄色的上传失败栏。

我们已将锁定计时器设置为当前系统时间加上 Word 请求的锁定时间(3600 秒)。

Timeout: Second-3600

Word 正在尝试发出 Lock 并获得 500 错误,结果是:

LOCK http://t430-dev10/TMS_71/Edit_WebDAV/000%20TEST%20ADD.doc HTTP/1.1

并得到 HTTP/1.1 500 Internal server error 的响应:

System.NullReferenceException: Object reference not set to an instance of an object.
at dn.i(IHierarchyItem A_0, DavContextBase A_1)
at dn.ProcessRequest(DavContextBase context, IHierarchyItem item)
at ITHit.WebDAV.Server.DavEngine.Run(DavContextBase context)

X-AspNet-Version: 4.0.30319
X-Engine: IT Hit WebDAV Server .Net v3.7.1780.0

我们还尝试了 v3.9.2111,结果相同。

基于此,我想就锁定计时器到期后如何保存文档提出一些建议。另外,锁可以延长,以便保存将上传文件吗?和/或是否可以修复服务器引擎以允许文件上传?

4

1 回答 1

0

这个问题很可能是由DavContextBase返回null引起的。GetHierarchyItem实现。LOCK 请求中 GetHierarchyItem 返回的项也必须实现 ILock 接口。

另请注意,在初始锁定后,MS Office 会不时刷新锁定,发送新的锁定时间,因此锁定在 MS Office 应用程序打开之前不会过期。引擎调用 ILock。当 MS Office 刷新锁时RefreshLock 。

于 2015-09-02T22:55:42.793 回答