Службы каталогов в .NET Framework
Доступ к службам каталогов и управление ими осуществляются с помощью управляемых API System.DirectoryServices, System.DirectoryServices.ActiveDirectory и System.DirectoryServices.Protocols. Все вместе эти API образуют законченное решение для создания управляемых приложений, в которых используются службы каталогов.
Ниже показано, как эти три управляемых API связаны друг с другом и с другими, неуправляемыми компонентами.
В этом подразделе
System.DirectoryServices Namespace Overview
Предоставляет доступ к службе каталогов 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 или System.DirectoryServices.Protocols, предоставляющих общий доступ к каталогам, System.DirectoryServices.ActiveDirectory является более абстрактным и ориентировано на выполнение всех задач и операций, связанных со службой Active Directory и режимом Active Directory Application Mode (ADAM). Например, System.DirectoryServices.ActiveDirectory применяется для поиска контроллеров домена в определенном домене, для репликации экземпляров ADAM, настройки отношений доверия и создания топологий. Пространство имен System.DirectoryServices.ActiveDirectory разработано для администраторов, которым необходимо автоматизировать выполнение повседневных задач, и для ИТ-разработчиков, создающих бизнес-приложения, связанные с Active Directory или ADAM.
System.DirectoryServices.Protocols Namespace Overview
Разработано для поддержки протокола LDAP (Lightweight Directory Access Protocol — легковесный протокол доступа к каталогам) и других подобных протоколов, в частности DSML (Directory Services Markup Language — язык разметки служб каталогов). Это не высокоуровневый абстрактный API. Объектная модель System.DirectoryServices.Protocols ориентирована на подключения; в ней запросы составляются и отправляются через подключение и ответы возвращаются через подключение. Пространство имен System.DirectoryServices.Protocols разработано на базе API LDAP, написанного на языке программирования C. Ее создатели ставили своей целью достижение высокой производительности, при этом System.DirectoryServices.Protocols реализует полный набор функций LDAP. К дополнительным функциям относятся асинхронная модель, поддержка сертификатов и элементы управления LDAP. Пространство имен System.DirectoryServices.Protocols предназначено для опытных разработчиков, которым требуется максимум контроля и гибкости для создания высокопроизводительных серверных приложений.
Связанные подразделы
- Advanced Development Technologies
Ссылки на сведения о сложных задачах разработки приложений и методиках разработки, применяемых в .NET Framework.