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

时间:2014-09-16 17:53:02

标签: c# sharepoint fsshttp ms-wopi

基于WOPI协议并通过互联网发布,包括stackoverflow post CobaltCore assembly,我们可以在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)
  4. 然而,在上面的步骤2之后,如果我只是让浏览空闲超过1小时,实际上OWA服务器会每15分钟调用一次RefreshLock(x-wopi-override:REFRESH_LOCK)来刷新相同的锁,尽管默认情况下锁定每个WOPI协议文件30分钟后应该过期。有了这个,它将继续锁定文件,WOPI服务器没有机会释放锁。

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

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

    注意:我找不到更好的标签,并且SO上没有WOPI标签,所以我添加了与帖子CobaltCore assembly相同的标签

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

0 个答案:

没有答案