我有一些代码需要知道最新的ChangeToken,所以我写道:
session.Clear();
var token = session.RepositoryInfo.LatestChangeLogToken;
不幸的是,它并不总是返回最新的令牌 例如:
72
73
72
< - 问题有没有办法以某种方式"重置"会话,还是更好地清除缓存? 我宁愿不每次都创建一个新的会话。
答案 0 :(得分:2)
OpenCMIS具有Session.getLatestChangeLogToken()
方法,它也是如此。
无需清除缓存或获取存储库信息。
答案 1 :(得分:1)
这有效:
session.Clear(); // Clear all caches.
session.Binding.GetRepositoryService().GetRepositoryInfos(null);
var token = session.Binding.GetRepositoryService().GetRepositoryInfo(
this.session.RepositoryInfo.Id, null).LatestChangeLogToken;
令牌始终是最新的。
不太确定是否需要前两行。