2011-09-23 63 views
1

我在Lotus Notes中创建了一个保存布尔值的配置文件。然后我创建了一个XAgent,它以纯文本形式返回值(true或false)。问题是:当我更改Lotus Notes客户端中的配置文件的值时,即使尝试刷新XAgent页面,关闭浏览器或使用其他浏览器,XAgent也不会返回已更改的值。只有当我重新启动服务器中的HTTP任务('告诉http重新启动')时才会出现更改。有没有办法总是立即获取新的文档配置文件值?我一直在寻找几个小时如何编程清除Web服务器缓存或类似但无济于事。我知道个人档案文件不应该经常更改,但是我为了测试而做了这些。刷新XPages中的配置文件

请帮帮我。

非常感谢! :D

回答

3

由于性能方面的原因,Domino http(和XPages)引擎缓存页面和文档。这包括配置文件。

可行的一种解决方法是不通过Notes客户端,而是通过Web代理更新配置文件。这样,HTTP引擎正在运行代理,所以它应该能够识别配置文件已更改,并且其缓存需要重建。

另一个解决方法是 - 如果这是一个Xpages唯一的解决方案 - 使用scoped variablesproperties files来存储信息。

除此之外,我能想到的唯一“解决方案”是用“常规”文档和视图重新实现“简档文档”。

5

您是否正在使用像这样的实际“配置文件”文件?

Call workspace.EditProfile("Interest Profile", session.UserName) 

档案文件已经存在了很长一段时间,他们使用的用意是相当简单的,而不是专为定期更新。此后它被误解为过程的一般“便笺式”。

通常,我不推荐使用它们,因为Domino缓存的配置文件与HTTP无关,并且它们更难以管理。当您的副本在其他服务器上浮动时,这尤其困难。

因此,替代方法是使用普通文档,并通过常规的getdocumentByKey方法访问它们。这使您可以直接管理它们,从而使维护更加容易。