使用OpenCMIS/DotCMS获取最新的ChangeLog令牌



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

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

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

  1. 启动会话
  2. 运行上面的代码,我得到72
  3. 在服务器上创建文件夹
  4. 启动CMIS工作台,读取令牌,它是73
  5. 在同一会话中再次运行上面的代码,得到72<--问题

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

OpenCMIS有用于此的Session.getLatestChangeLogToken()方法,它也做同样的事情。不需要清除缓存或获取存储库信息。

这是有效的:

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

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

相关内容

  • 没有找到相关文章