Selecting the Right Technology
Summary
In this chapter, we introduced the LDAP programming technologies in the .NET Framework. We started with a high-level overview of the landscape and delved into some of the details about how the .NET-managed code interfaces interact with the various Windows-native platform interfaces such as ADSI and the LDAP API (wldap32.dll). We spent some additional time focusing on ADSI, since it is the underpinnings of the primary .NET directory services programming interface, SDS.
We then provided a high-level overview of the facilities available in the .NET Framework, including System.DirectoryServices, as well as System.DirectoryServices.ActiveDirectory and System.DirectoryServices.Protocols, which are new additions in .NET version 2.0.
With SDS, we get the basic functionality necessary to do most types of LDAP programming in .NET, and it is included in all of the released versions of the .NET Framework. Most of the rest of the book focuses here.
With SDS.AD, we have full control over how Active Directory and ADAM operate directly using .NET. The somewhat arcane API calls previously used to manage Active Directory are now gone: trusts, replication, domain controllers, schema, sites, and subnets are all directly modifiable using the new SDS.AD namespace.
SDS.P provides a completely different approach for working with LDAP that conforms directly to the LDAP API. It also uses a provider model to allow seamless interoperability with the DSML protocol.
We concluded with some guidance on when to use the various options available.