【问题标题】:Get the latest ChangeLog token with OpenCMIS/DotCMIS使用 OpenCMIS/DotCMIS 获取最新的 ChangeLog 令牌
【发布时间】:2015-02-19 06:36:55
【问题描述】:

我有一些代码需要知道最新的ChangeToken,所以写了:

session.Clear();
var token = session.RepositoryInfo.LatestChangeLogToken;

不幸的是,它并不总是返回最新的令牌。
示例:

  1. 开始会话
  2. 运行上面的代码,我得到72
  3. 在服务器上创建文件夹
  4. 启动CMIS Workbench,读取token,是73
  5. 在同一个会话中再次运行上面的代码,我得到72

有没有办法以某种方式“重置”会话,或者更好地清除缓存?
我不希望每次都创建新会话。

【问题讨论】:

    标签: cmis opencmis dotcmis


    【解决方案1】:

    OpenCMIS 有 Session.getLatestChangeLogToken() 方法,它的作用相同。 不需要清除缓存或获取存储库信息。

    【讨论】:

      【解决方案2】:

      这行得通:

      session.Clear(); // Clear all caches.
      session.Binding.GetRepositoryService().GetRepositoryInfos(null);
      
      var token = session.Binding.GetRepositoryService().GetRepositoryInfo(
            this.session.RepositoryInfo.Id, null).LatestChangeLogToken;
      

      令牌始终是最新的。
      不太确定是否需要前两行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-09-25
        • 2015-07-19
        • 2019-12-06
        • 2016-09-28
        • 2015-11-26
        • 2016-10-27
        • 2014-07-15
        相关资源
        最近更新 更多