2009-07-16 53 views
0

在.net中使用DirectorySearcher的FindAll()方法時,SearchResultCollection的GetDirectoryEntry()方法是否需要再次訪問Active Directory?例如......SearchResultCollection的GetDirectoryEntry是否必須再次查詢ActiveDirectory? [DirectoryServices/.net]

Dim src As SearchResultCollection 
Dim ds As New DirectorySearcher 
' code to setup DirectorySearcher 


' go to Active Directory and fill collection with results 
src = ds.FindAll() 

'...later on in code or whatever 
' does the next line of code require another trip to Active Directory? 
Dim de As DirectoryEntry = src.item(0).GetDirectoryEntry() 

回答

0

根據文檔,它將重新獲得AD以獲取目錄條目。

Reference

當你想

使用GetDirectoryEntry到 看直播入口而不是通過 的DirectorySearcher返回,或當你想 調用,這是 對象上的方法 進入回。

注意: 在通過DirectorySearcher返回的每個SearchResult上調用GetDirectoryEntry可能會很慢。

0

是的,它會回到AD並獲取整個DirectoryEntry對象。

如果你想避免這種情況(你應該儘可能),指定這些你真的需要使用PropertiesToLoad收集您DirectorySearcher屬性,然後檢查SearchResult.Properties對於那些價值 - 這些將與搜索將返回和不需要另外往返於Active Directory。

馬克