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对象,该对象包含搜索过程中找到的第一项。