2010-04-16 2 views
4

System.DirectoryServices가 "계층 위"System.DirectoryServices.Protocols이고 일부 복잡성을 추상합니다.LDAP 쿼리에 대해 SearchRequest를 통해 DirectorySearcher를 사용하면 성능 이점이 있습니까?

.NET에서 LDAP 쿼리에 대해 System.DirectoryServices.DirectorySearcher 및 System.DirectoryServices.Protocols.SearchRequest를 사용하면 성능이나 기타 이점이 있습니까?

하나의 접근법을 다른 기준보다 사용하게 만드는 기준은 무엇입니까?

답변

9

지난 몇 개월 동안 두 라이브러리를 많이 다루었 기 때문에 큰 데이터 세트를 다루는 경우에는 특히이라는 큰 차이점이 있다고 말할 수 있습니다. This blog post은 몇 가지 문제를 간략하게 설명하고 500,000 개가 넘는 항목이 포함 된 LDAP 인스턴스를 처리 한 결과 정확성을 보장 할 수 있습니다.

System.DirectoryServices 네임 스페이스는 많은 수의 오버 헤드를 추가 할 수있는 표면 아래 많은 ADSI 및 COM을 사용합니다 (특히 개체를 삭제할 때). System.DirectoryServices.Protocols은 저수준 LDAP API와 직접 상호 작용하므로 타사 디렉토리와의 제어 및 훨씬 향상된 상호 운용성을 제공합니다.

상대적으로 간단한 작업을 위해 AD/ADAM/ADLDS 인스턴스에 쉽고 빠르게 연결할 수 있다면 그 네임 스페이스를 고수해야 할 것입니다. 그렇지 않으면 시간을 투자 할 것을 강력히 권장합니다. Protocols 네임 스페이스를 배우십시오. this MSDN article은 원래 배울 때 큰 도움이된다는 것을 알았습니다. 알아야 할 모든 것을 거의 다룹니다.

+0

위대한 답변 .. 감사합니다. 1) 매우 큰 LDAP 인스턴스, 2) 비 AD LDAP (우리는 Tivoli Directory Services를 사용하고 있습니다.)와 같은 몇 가지 문제점에 직면했습니다. – WayneC

+0

MSDN의 해당 기사가 옮겨졌습니다. – Bryan

관련 문제