.NET Framework 中的目錄服務
System.DirectoryServices、System.DirectoryServices.ActiveDirectory 和 System.DirectoryServices.Protocols Managed API 可提供目錄服務存取和管理。 這些 Managed API 結合在一起時,可以提供完整的方案,以利用 Managed 程式碼開發目錄為主和具備目錄功能的應用程式。
下圖將顯示這三個 Managed API 彼此之間的關係,以及與 Unmanaged 對應項目之間的關性。
在本節中
System.DirectoryServices Namespace Overview
提供從 Managed 程式碼存取 Active Directory 的權限。 System.DirectoryServices 會建置在 ADSI 之上。 DirectoryEntry 和 DirectorySearcher 為兩個基底物件型別。 所有的作業都是在這兩個物件的周圍執行。當使用 System.DirectoryServices 時,並不需要瞭解進階的概念。 例如,當使用 LDAP 控制項來執行分頁搜尋時,要指定頁面大小及列舉傳回的結果。 從建構頁面結果控制項、傳送要求及取得頁面結果 Cookie,一直到重新發出要求的所有動作,都是由 System.DirectoryServices 所處理。 使用者並不需要瞭解屬性語法,因為會透過內部結構描述對應來自動處理。
System.DirectoryServices 是針對執行實務應用程式和具備目錄功能的應用程式之快速應用程式開發作業的程式開發人員所設計。
System.DirectoryServices.ActiveDirectory Namespace Overview
提供建置於 Active Directory 工作周圍的高階抽象物件模型。 例如樹系、網域、站台、子網路、磁碟分割及結構描述等 Active Directory 概念,都是物件模型的一部分。System.DirectoryServices.ActiveDirectory 建置在 System.DirectoryServices 之上,且其功能類似於 System.DirectoryServices。 System.DirectoryServices.ActiveDirectory 和提供目錄的一般存取權的 System.DirectoryServices 或 System.DirectoryServices.Protocols 不同,它提供更抽象的概念,且位於 Active Directory 和 Active Directory 應用程式模式 (ADAM) 的所有工作和作業的中央。 例如,System.DirectoryServices.ActiveDirectory 是用來在特定網域中尋找網域控制站、複寫 ADAM 執行個體、設定信任關係,以及建立拓樸。 System.DirectoryServices.ActiveDirectory 命名空間是針對想要讓每天的工作自動化的系統管理員,以及建立 Active Directory 或 ADAM 相關的實務應用程式之 IT 開發人員所設計。
System.DirectoryServices.Protocols Namespace Overview
針對輕量型目錄存取協定 (LDAP) 以及類似的通訊協定 (例如 Directory Services Markup Language (DSML)) 所設計, 它並不是高階的抽象 API。 System.DirectoryServices.Protocols 的物件模型為連接導向,而要求是透過此連接來建構及傳送,而且回應會透過此連接來接收及傳回。 System.DirectoryServices.Protocols 會建置在 LDAP C 程式設計語言 API 之上。 其目標是要提供高效能,而 System.DirectoryServices.Protocols 則會提供完整的 LDAP 功能。 進階的功能包括非同步模型、憑證支援和 LDAP 控制項。 System.DirectoryServices.Protocols 針對的目標是追尋最大的掌控權及彈性來開發高效能之伺服器端應用程式的經驗豐富的開發人員。
相關章節
- Advanced Development Technologies
提供 .NET Framework 中進階的應用程式開發工作和技巧的相關資訊之連結。