.NET Framework 中的目录服务
System.DirectoryServices、System.DirectoryServices.ActiveDirectory 和 System.DirectoryServices.Protocols 托管 API 提供目录服务访问和管理。 这些托管 API 使用托管代码共同为开发以目录为中心和启用目录的应用程序提供全套解决方案。
下图演示了这三个托管 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
提供基于 Activey Directory 任务构建的高级抽象对象模型。 Active Directory 概念(如目录林、域、站点、子网、分区和架构)是对象模型的一部分。System.DirectoryServices.ActiveDirectory 基于 System.DirectoryServices 构建,具有与 System.DirectoryServices 类似的功能。 与提供对目录的一般访问的 System.DirectoryServices 或 System.DirectoryServices.Protocols 不同,System.DirectoryServices.ActiveDirectory 提供更多抽象内容,并且位于 Active Directory 和 Active Directory 应用程序模式 (ADAM) 的所有任务和操作的中心。 例如,System.DirectoryServices.ActiveDirectory 用于查找特定域中的域控制器,以复制 ADAM 实例、建立信任以及创建拓扑。 System.DirectoryServices.ActiveDirectory 命名空间专为想要使日常任务自动化的管理员和创建 Active Directory 或 ADAM 相关的业务线应用程序的 IT 开发人员设计。
System.DirectoryServices.Protocols Namespace Overview
为轻量目录访问协议 (LDAP) 和类似协议(如目录服务标记语言 (DSML))设计。 它不是高级抽象 API。 System.DirectoryServices.Protocols 的对象模型是面向连接的,请求通过连接构建和发送,响应也通过连接接收和返回。 System.DirectoryServices.Protocols 是基于 LDAP C 编程语言 API 构建的。 目标是高性能,System.DirectoryServices.Protocols 提供了完全 LDAP 功能。 高级功能包括异步模型、证书支持和 LDAP 控件。 System.DirectoryServices.Protocols 是针对那些寻求开发高性能服务器端应用程序所需的最大控制和灵活性的资深开发人员而设计的。
相关章节
- Advanced Development Technologies
提供一些链接,指向有关 .NET Framework 中的高级应用程序开发任务和技术的信息。