我正在Active Directory中执行长搜索,并且非常希望使用DirectorySearcher.Asynchronous = True。 Microsoft在MSDN
上提供的文档非常少异步搜索可以显示结果 同时搜索其他结果。这很有用 填充列表框等任务。
此属性的默认设置为false。
我的应用程序在搜索完成时如何知道。我没有看到任何提供此通知的属性,事件或回调。有没有人有任何想法如何获得这个功能?
基本上我在找这个:
非常感谢你的帮助。
答案 0 :(得分:1)
DirectoryServices使用ADSI与AD通信。将async设置为true时,它会使用IDirectorySearch.SetSearchPreferences将ADS_SEARCHPREF_ASYNCHRONOUS搜索首选项设置为true。
这是一个解释同步和异步搜索之间差异的页面。 http://msdn.microsoft.com/en-us/library/windows/desktop/aa746498(v=vs.85).aspx
这描述了分页。 http://msdn.microsoft.com/en-us/library/windows/desktop/aa746414(v=vs.85).aspx
如果您正在进行大型查询,您可以生成自己的线程或使用线程池,将页面大小设置为低于1000的值,并在结果进入时填充队列。