2011-02-23 4 views
0

AzMan에 액세스하기 위해 AZROLESLib COM interop 라이브러리를 사용하는 간단한 AzMan 래퍼 클래스를 .NET에 작성했습니다.AZROLESLib을 통해 AzMan을 새로 고침

기본 XML 저장소를 변경할 때를 제외하고는 모두 잘 작동합니다. 이러한 변경 사항은 이후의 AZROLESLib 호출에 반영되지 않습니다.

AuthorisationStore.Initialize(0, XML_STORE_PATH) 
: 우리 클래스의 건설 중에
IAzAuthorizationStore AuthorisationStore = new AzAuthorizationStoreClass(); 

우리가 가게를 초기화 : 우리가 권한 부여 저장소에 대한 참조를 저장하는 클래스 수준에서

:

우리의 코드는 다음과 같이 보입니다

우리가 역할을 요청할 때마다 다음 코드가 실행됩니다.

AuthorisationStore.UpdateCache(); 
var application = AuthorisationStore.OpenApplication(APPNAME); 
// we do a query here and return the results 

그러나 UpdateCache를 호출하면 아무 것도 수행하지 않는 것처럼 보입니다. 나는 모든 호출 후에 CloseApplication을 사용하려고 시도했지만 단순히 예외를 throw합니다. "요청이 지원되지 않습니다 (HRESULT 예외 : 0x80070032)". 모든 호출에서 AuthorisationStore를 새로 작성한 경우 액세스 권한 거부 예외가 발생합니다 (예전의 권한 부여 저장소에 여전히 파일 핸들이 있기 때문에 가정합니다).

모든 호출에서 권한 부여 저장소를 새로 고치는 방법은 무엇입니까?

감사합니다.

답변

0

나는 이것이 이제 신비하게 작동하고 있음을 알게되었습니다.

AuthorisationStore.UpdateCache(); 

으로 전화하는 것이 가장 중요합니다. 왜 그것이 이전에 작동하지 않았는지 모르겠지만 내가 잘못하고있는 것이 었음이 틀림 없다. ...

+0

자신의 대답을 수락 된 대답으로 받아들이십시오 (체크 표시를 누르십시오). 그렇지 않습니다. "대답하지 않은"quuestion 인 것처럼 보이십시오. –

관련 문제