C#中DirectorySearcher组件应用实例
DirectorySearcher组件
1.功能
DirectorySearcher组件对Active Directory执行查询。图1所示为DirectorySearcher组件。

图1 DirectorySearcher组件
2.属性
DirectorySearcher组件常用属性及说明如表1所示。

表1 DirectorySearcher组件常用属性及说明
下面对比较重要的属性进行详细介绍。
(1)Asynchronous属性。
语法:
public bool Asynchronous { get; set; }
属性值:如果异步执行搜索,则为True;否则为False。
下面演示如何创建异步搜索,代码如下:
using System.DirectoryServices;
DirectoryEntry entry = new DirectoryEntry("LDAP://CN=users,DC=fabrikam,DC=com");
DirectorySearcher mySearcher = new DirectorySearcher(entry);
src.Asynchronous = True;
SearchResultCollection res = src.FindAll(); (2)CacheResults属性。
语法:
public bool CacheResults { get; set; } 属性值:如果在客户计算机上缓存结果,则为True,否则为False。默认为True。
注意:如果搜索返回一个大型结果集,则可通过将此属性设置为False来避免将结果集传输给客户端计算机,使搜索更有效。
3.方法
(1)FindAll方法。
语法:
public SearchResultCollection FindAll () 返回值:包含搜索结果的SearchResultCollection对象。
(2)FindOne方法。
语法:
public SearchResult FindOne () 返回值:一个SearchResult对象,该对象包含搜索过程中找到的第一项。