1

我在 Lotus Notes 中创建了一个保存布尔值的配置文件。然后我创建了一个 XAgent,它将值作为纯文本(真或假)返回。问题是:当我在 Lotus Notes 客户端中更改配置文件文档的值时,即使我尝试刷新 XAgent 页面、关闭浏览器或使用其他浏览器,XAgent 也不会返回更改的值。仅当我在服务器中重新启动 HTTP 任务('tell http restart')时,才会出现更改。有没有办法总是立即获得新的文档配置文件值?我一直在寻找如何以编程方式清除 Web 服务器缓存等,但无济于事。我知道配置文件不应该经常更改,但我这样做是为了测试。

请帮我。

非常感谢!:D

4

2 回答 2

5

您是否正在使用这样的实际“个人资料”文档?

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

配置文件已经存在很长时间了,它们的使用非常简单,而不是为定期更新而设计的。此后,它被误解为流程的通用“便签本”。

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

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

于 2011-09-28T03:52:16.527 回答
3

出于性能原因,Domino http(和 XPages)引擎缓存页面和文档。这包括个人资料文件。

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

另一种解决方法是——如果这是一个仅限 Xpages 的解决方案——使用范围变量属性文件来存储信息。

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

于 2011-09-24T18:07:01.730 回答