5

基于 WOPI 协议以及通过 Internet 发布的帖子,包括CobaltCore 程序集后的 stackoverflow ,我们能够在 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 继续锁定文件。

注意:我找不到更好的标签,并且 SO 没有 WOPI 标签,所以我添加了相同的标签作为发布CobaltCore 程序集

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

4

0 回答 0