我试图从XPage的beforePageLoad事件中的配置文件中获取值。为此,我使用Server Side Javascript:
var currdb:NotesDatabase = database;
var profdoc:NotesDocument = currdb.getProfileDocument("frmProfile","");
var showRefInfo = profdoc.getItemValueString("ShowReferenceInformation");
sessionScope.put("showRefInfo",@Text(showRefInfo));
字段" ShowReferenceInformation"可以有1或0的值。我已将此值从0更改为1,但是我的SSJS代码继续返回0.可能导致此问题的原因是什么?
答案 0 :(得分:9)
网络上的个人资料文档一直被过度缓存,我相信XPage仍然如此。最有可能的是,您会看到一些请求将获得新值,而其他请求将在一段任意时间后完全刷新缓存之后才会获得。
答案 1 :(得分:3)
我其实喜欢个人资料文件。但是,使用它们的方法是在同步函数中检查ApplicationScope变量并读取该变量。如果没有来自配置文件的负载。马上回信。所以你超级缓存它。
答案 2 :(得分:2)
同意前两个答案。不要在xpages中使用配置文件。刷新HTTP任务时刷新缓存。这在大多数环境中是不可接受的。我会使用像applicationScope这样的另一种方法来设置这些值。
但是,如果您每次此条目更改时都必须重新启动HTTP,那么请继续使用xPages中的配置文件...
答案 3 :(得分:1)
我同意杰西的观点。使用配置文件时,缓存通常是一个大问题。当我们从Notes切换到XPage环境时,我们总是遇到同样的问题。
解决方案是您可以创建一个简单的代理来创建配置文件,然后创建一个视图来处理它。