When using System.DirectoryServices, there is no need to understand advanced concepts. For example, when using LDAP controls to perform a paged search, specify the page size and enumerate returned results. Everything, from constructing a page result control, sending requests, and obtaining a page result cookie, to reissuing requests, is handled by System.DirectoryServices. Users are not required to understand the property syntax; it is handled automatically through internal schema mapping.
System.DirectoryServices is designed for developers who perform rapid application development for line-of-business applications and directory-enabled applications.
Provides a high-level abstraction object model that builds around Active Directory tasks. The Active Directory concepts such as forest, domain, site, subnet, partition, and schema are part of the object model.
Designed for the Lightweight Directory Access Protocol (LDAP) and similar protocols such as Directory Services Markup Language (DSML). It is not a high-level abstraction API. The object model of System.DirectoryServices.Protocols is connection oriented, requests are constructed and sent over the connection, and response are received and returned through the connection. System.DirectoryServices.Protocols is built on top LDAP C programming language API. The goal is high performance and System.DirectoryServices.Protocols provides full LDAP functionality. The advanced features include an asynchronous model, certificate support, and LDAP controls. System.DirectoryServices.Protocols is targeted for experienced developers that seek maximum control and flexibility to develop high performance server-side applications.