使用DirectorySearcher而不是SearchRequest进行LDAP查询是否有任何性能优势

Way*_*neC 4 .net ldap

我知道System.DirectoryServices是一个"上面的层"System.DirectoryServices.Protocols并且抽象了一些复杂性.

使用System.DirectoryServices.DirectorySearcher与System.DirectoryServices.Protocols.SearchRequest进行LDAP查询是否有任何其他优点,性能或其他方面.

什么标准会导致您使用一种方法而不是另一种方法?

小智 9

在过去的几个月里,我们经常处理这两个库,我可以告诉你,存在一些很大的差异,特别是如果你正在处理大型数据集.这篇博文仅概述了一些问题,并且处理了包含超过500,000个条目的LDAP实例,我可以保证其准确性.

的System.DirectoryServices命名空间使用了大量的ADSI和COM的可加大量的开销,特别是与放置物体的表面下.它System.DirectoryServices.Protocols与低级LDAP API直接交互,为您提供更多控制,并与非Microsoft目录实现更好的互操作性.

如果你想要实现的只是为了相对简单的操作而快速轻松地连接到AD/ADAM/ADLDS实例,那么可能值得坚持使用该命名空间 - 否则,我强烈建议你花时间学习协议命名空间.我发现这篇MSDN文章在我最初学习时是一个巨大的帮助 - 它涵盖了你需要知道的几乎所有内容.