2012-03-13 3 views
2

ID가 응용 프로그램 풀 사용자 인 웹 응용 프로그램에이 코드를 배포 할 때 다음 코드는 알 수없는 COM 예외를 throw합니다. FindByIdentity 메서드가 호출 될 때 예외가 발생합니다.GroupPrincipal.FindByIdentity 알 수없는 COM 예외

함께 System.Runtime.InteropServices.COMException : 알 수없는 오류 (0x8000500c) 나는이 문제가 해결 될 때 도메인 사용자에게 응용 프로그램 풀 ID를 변경하는 경우

using (PrincipalContext prinCon = new PrincipalContext(ContextType.Domain)) 
{ 
    GroupPrincipal groupPrin = GroupPrincipal.FindByIdentity(prinCon, name); 
} 

. 처음에는 그것이 내가 권한/보안 문제라고 믿게 만듭니다. 그러나이 오류는 일부 서버에서만 발생합니다. 또한 다시 시작하면이 문제가 해결됩니다.

제 질문은 왜 서버를 다시 시작하면이 문제가 해결 될까요? 그리고 다시 시작하지 않고이 작업을 수행하는 방법이 있습니까?

나는 상당한 양의 인터넷 검색을 수행했으며 같은 문제, 비슷한 권한 문제는 있지만 내 문제를 해결하는 데는 도움이되지 못합니다.

미리 감사드립니다.

+0

'이름'값은 무엇입니까 ?? 뭐라고하셨습니까? –

+0

검색 할 그룹의 이름입니다 (예 : "Administrators") – user1084440

+0

도메인 사용자를 사용하기 위해 변경하기 전에 사용했던 응용 프로그램 풀 사용자 계정은 무엇입니까? 로컬 사용자 계정 이었습니까? 여기에 앱 풀 사용자 계정 이름을 붙여 넣을 수 있습니까? 'GroupPrincipal.FindbyIdentity'는 분명히 LDAP 쿼리를하기 위해 Active Directory에 대한 앱 풀 사용자 계정을 인증해야합니다. –

답변

0

ID 유형을 지정하지 않았지만 문자열을 입력했습니다. 아마도 문자열을 검색하는 방법을 모르는 것입니다. 예를 들어 문자열이 guid라고 가정하고 구문 분석을 시도한 다음 실패합니다.

같은 시도 : 또한

var groupPrin = GroupPrincipal.FindByIdentity(prinCon, IdentityType.Name , name); 

을, 같은 관리자 또는 서비스 계정으로 확실히 이러한 작업을 수행 할 수있는 권한을 가지고 어떤 자격 증명을 사용하여 PrincipalContext을 설정하려고합니다.

1

앱 풀 계정을 변경하는 것이 효과적입니다. ApplicationPoolIdentity 사용자 였지만 네트워크 서비스로 변경 한 후이 오류가 사라지고 AD 코드가 정상적으로 작동합니다. 이게 도움이 되길 바란다.

+0

감사합니다! 이것도 나를 위해 일한,하지만 난 문제없이 1 년 넘게이 웹 애플 리케이션을 배포했습니다. 갑자기이 에러 코드를 수정하지 않고이 오류가 발생했습니다. 업데이트가이를 담당 할 수 있을지 궁금합니다. – Crob

관련 문제