2011-09-23 3 views
1

부울 값을 저장하는 Lotus Notes에서 프로필 문서를 만들었습니다. 그런 다음 값을 일반 텍스트 (true 또는 false)로 반환하는 XAgent를 만들었습니다. 문제는 Lotus Notes 클라이언트에서 프로필 문서의 값을 변경했을 때 XAgent 페이지를 새로 고치거나 브라우저를 닫거나 다른 브라우저를 사용해도 변경된 값이 XAgent에 의해 반환되지 않습니다. 변경 내용은 서버에서 HTTP 작업 ('http를 다시 시작하십시오')을 다시 시작해야 나타납니다. 항상 최신 문서 프로필 값을 즉시 얻을 수있는 방법이 있습니까? 나는 웹 서버 캐시 등을 프로그래밍 방식으로 지우는 방법을 몇 시간 동안 조사했지만 아무 소용이 없다. 나는 프로파일 문서가 자주 변경되지 않는다는 것을 알고 있지만 테스트를 위해서이 작업을하고있다.XPages에서 프로필 문서 새로 ​​고침

도와주세요.

대단히 감사합니다! : D

답변

3

성능상의 이유로 Domino http (및 XPages) 엔진은 페이지와 문서를 캐시합니다. 여기에는 프로필 문서가 포함됩니다.

Notes 클라이언트가 아닌 웹 에이전트를 통해 프로필 문서를 업데이트하는 것이 한 가지 해결 방법입니다. 이렇게하면 HTTP 엔진이 에이전트를 실행하므로 프로파일이 변경되었고 캐시를 다시 작성해야한다는 것을 인식 할 수 있어야합니다.

또 다른 해결 방법은 Xpages 전용 솔루션 인 경우 scoped variablesproperties files을 사용하여 정보를 저장하는 것입니다.

내가 생각할 수있는 유일한 해결책은 "프로필 문서"를 "일반"문서 및보기로 다시 구현하는 것입니다.

5

실제 "프로필"문서를 사용하고 있습니까?

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

프로필 문서는 매우 오랜 시간 동안 사용되어 왔으며 사용법은 매우 단순하며 정기적 인 업데이트를 위해 설계되지 않았습니다. 이후 프로세스의 일반적인 "스크래치 패드"로 잘못 해석되었습니다.

일반적으로 Domino 캐시의 프로필 문서는 HTTP와 관계 없으며 관리하기가 더 어렵 기 때문에 사용법을 권장하지 않습니다. 특히 복제본이 다른 서버에 떠 다니는 경우에는이 작업이 어렵습니다.

따라서 일반 문서를 사용하고 일반 getdocumentByKey 방법을 통해 액세스 할 수 있습니다. 이렇게하면 직접 관리 할 수 ​​있으므로 유지 관리가 쉬워집니다.

관련 문제