검색 범위 설정
검색 성능을 높이려면 검색 범위를 단일 개체나 개체의 하위 집합으로 제한합니다. 이와 같이 검색 범위를 제한할 수 있도록 DirectorySearcher는 SearchScope 속성을 제공합니다.
검색 범위는 다음 세 가지 설정 중 하나로 설정될 수 있습니다.
- Base: 바운드 개체를 검색하고 검색 조건에 일치하는 경우 해당 개체만 반환합니다. 예를 들어, 도메인에 바인딩되어 있는 경우 해당 도메인의 모든 항목을 검색하고 바운드 개체만 반환합니다.
- OneLevel: 바운드 개체와 동일한 수준에 있는 모든 개체를 검색합니다. 예를 들어, 그룹에 바인딩되어 있는 경우 해당 그룹과 동일한 수준의 모든 그룹이나 기타 개체를 검색합니다.
- Subtree: 기본 개체를 비롯하여 바운드 개체의 하위 트리에 있는 모든 개체를 검색합니다. 예를 들어, 서버에 바인딩되어 있는 경우 계층 구조에서 해당 서버에 속하거나 동일한 수준의 모든 개체를 검색합니다. 이 값은 기본값입니다. DirectorySynchronization 개체를 사용하여 디렉터리 동기화 검색을 수행하는 경우 응용 프로그램에서 Subtree 범위를 지정해야 합니다.
다음 그림에서는 도메인 계층 구조 내에서 이와 같은 각 범위가 적용되는 방법을 보여 줍니다.
다음 C# 코드 예제에서는 SearchScope 속성을 사용하여 하위 트리를 검색하는 방법을 보여 줍니다.
DirectoryEntry entry = new DirectoryEntry("LDAP://CN=users,DC=fabrikam,DC=com");
DirectorySearcher mySearcher = new DirectorySearcher(entry);
mySearcher.SearchScope = SearchScope.Subtree;
mySearcher.Filter = "(&(objectClass=user)(anr=test*))";
SearchResultCollection ResEnt = mySearcher.FindAll();
{
// Handle results.
}
// Handle exceptions.
참고 항목
참조
System.DirectoryServices
DirectorySearcher
SearchScope
DirectorySynchronization
개념
Send comments about this topic to Microsoft.
Copyright © 2007 by Microsoft Corporation. All rights reserved.