2010/11/03

IIS 7.5 ADSI, DirectoryEntry 0x80005000 Exception

DirectoryEntry root = new DirectoryEntry("IIS://localhost/W3SVC");
foreach (DirectoryEntry webSite in root.Children){}

위와 같이 ADSI 공급자를 이용하여 IIS 메타베이스에 접근할려고 하는 경우, 다음과 같은 예외가 발생할수 있습니다.

처리되지 않은 예외: System.Runtime.InteropServices.COMException (0x80005000): 알 수 없는 오류입니다(0x80005000).
   위치: System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
   위치: System.DirectoryServices.DirectoryEntry.Bind()
   위치: System.DirectoryServices.DirectoryEntry.get_IsContainer()
   위치: System.DirectoryServices.DirectoryEntries.ChildEnumerator..ctor(DirectoryEntry container)
   위치: System.DirectoryServices.DirectoryEntries.GetEnumerator()

IIS 7.5 에서, 위와 같은 오류의 경우 ADSI 공급자가 설치 되어 있지 않기 때문 입니다. 기본값으로 설치가 되지 않습니다. IIS 7.5 에서는 Microsoft.Web.Administration 또는 ServerManager 를 권장 합니다.

ADSI 를 이용할려면 롤에서 IIS 6 관리 호환성에서 IIS 6 메타베이스 호환성 등의 역할 서비스를 설치해야 합니다.

댓글 없음:

댓글 쓰기

가장 많이 본 글