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 内部サーバー エラーの応答を取得します。

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 に答える