Tridion.AudienceManagement.API
API에서 간단한 작업을 수행하는 콘솔 응용 프로그램을 만들었습니다. 응용 프로그램을 시작할 때 가장 먼저하는 것은 참조 UserContext.Current
이며 다음과 같은 예외가 발생합니다.초기화 중에 Tridion.AudienceManagement.API 예외가 발생합니다.
The type initializer for 'Tridion.AudienceManagement.DomainModel.Utilities.Configuration' threw an exception.
at Tridion.AudienceManagement.DomainModel.Utilities.Configuration.get_LogFolder()
at Tridion.AudienceManagement.DomainModel.Utilities.Logger.AssertValidLogFolder()
at Tridion.AudienceManagement.DomainModel.Utilities.Logger.WriteLine(LogLevel logLevel, String message, Object[] objects)
at Tridion.AudienceManagement.DomainModel.ServiceClient.ContentManagerClient.LogBindingInfo(Exception ex)
at Tridion.AudienceManagement.DomainModel.ServiceClient.ContentManagerClient.GetConfiguredCoreService()
at Tridion.AudienceManagement.DomainModel.ServiceClient.ContentManagerClient.GetClient(UserContext userContext, UserData& userData)
at Tridion.AudienceManagement.DomainModel.ServiceClient.ContentManagerClient.LoadCurrentUser(UserContext userContext, String userDataXml)
at Tridion.AudienceManagement.DomainModel.UserContext..ctor(String trusteeName)
at Tridion.AudienceManagement.API.UserContext..ctor()
at Tridion.AudienceManagement.API.UserContext.get_Current()
잠재 고객 관리자가 설치되어 서버에서 작동하고 있음을 확인했습니다.
MTS 사용자로 로그인 한 셸에서 프로그램을 실행하면이 문제를 피할 수 있습니다. 처음에는 문제가 로그 폴더의 파일 시스템 사용 권한과 관련이 있다고 생각했지만 전체 제어 권한을 부여해도 문제가되지 않았습니다.
procmon 출력을 두 사용자로 비교했을 때 실패한 사용자가 C : \ ProgramData \ Microsoft \ Crypto \ RSA \ MachineKeys - 내에 파일을 만들 때 ACCESS DENIED를 받고 있음을 알 수있었습니다. filename은 임의적으로 보이는 문자의 긴 문자열입니다. 이 ACCESS DENIED는 MtsUser에 표시되지 않습니다.