文件被锁定以进行编辑后,何时应在 WOPI 服务器端解锁文件

win*_*006 5 c# sharepoint fsshttp ms-wopi

基于 WOPI 协议,并且还通过互联网发布,包括 stackoverflow 发布CobaltCore 程序集,我们能够在 Office Web App 服务器上对 ppt/excel/word 进行编辑。我们试图了解更多的一件事是关于锁定/解锁。我对excel文件做了一些测试以了解锁定和解锁。如果我们能在 excel 中理解这一点,我们将移至 word 文件。以下是我的发现:

  1. 当我开始在浏览器上编辑 excel 文件时,OWA 服务器会调用 Lock WOPI Http 请求(x-wopi-override 标头为 LOCK)到 WOPI 服务器
  2. 2 分钟后,OWA 服务器将通过调用 PutFile ( x-wopi-override: PUT) 自动保存我编辑的内容到 WOPI 服务器
  3. 当我关闭浏览器选项卡时,会有从 OWA 服务器到 WOPI 服务器的 Unlock Http 请求调用 ( x-wopi-override: UNLOCK )

然而,在上述第 2 步之后,如果我只是让浏览器闲置超过 1 小时,实际上 OWA 服务器会每 15 分钟调用一次 RefreshLock ( x-wopi-override: REFRESH_LOCK ) 来刷新相同的锁,尽管默认情况下锁应该是过期的每个 WOPI 协议文件 30 分钟后。这样,它将继续锁定文件,WOPI 服务器没有机会释放锁定。

我只是想知道,当用户在客户端空闲时,我们什么时候可以在 WOPI 服务器端释放锁。我们无法将文件锁定几个小时(我还不知道这里的限制,尽管我们在很长时间后在 OWA 上查看 SharePoint 文件时会收到诸如会话已过期的消息),这将阻止其他用户编辑文件. 我们将 SupportsCoauth 设为假。

只是想知道是否有人可以在这里说明锁定和解锁行为以及我们如何防止 OWA 继续锁定文件。

注意:我找不到更好的标签,所以没有 WOPI 标签,所以我添加了与CobaltCore 组装后相同的标签

更新(9 月 16 日):如果在 OWA 服务器上进行编辑,它可能不会阻止其他用户编辑文件,因为 OWA 服务器可能会释放第一个用户的锁定和第二个用户的锁定。我们还没有确认。但是,如果另一个用户需要将相同的文档从桌面上传到我们的服务器并且需要锁定来覆盖文件,则不确定锁定将如何工作。