Excepción cuando trabajamos con DirectoryServices

Algo que hoy descubrí con asombro es que cuando trabajamos con las clases de System.DirectoryServices en específico DirectoryEntry para hacer consultas en un directorio activo es importante pasar la ruta del servidor LDAP utilizando mayúsculas en la cadena.

Si, así es.

Si utilizamos la línea con letra minusculas:

DirectoryEntry de = new DirectoryEntry("ldap://litwaredc:389/CN=Users,DC=litwareinc,DC=com");

Surgirá una excepción de tipo COM. La dirección DN es correcta, solo que se necesita modificar la parte ldap por LDAP para que DirectoryEntry se digne a funcionar como se espera.

DirectoryEntry de = new DirectoryEntry(LDAP://litwaredc:389/CN=Users,DC=litwareinc,DC=com);

 

Seguro existe una razón, sin embargo que alguien me explique!

Originalmente publicado en msmvps.com
Published 25/8/2011 1:29 por Haaron Gonzalez
Archivado en: ,
Comparte este post:
http://geeks.ms/blogs/haarongonzalez/archive/2011/08/25/excepci-243-n-cuando-trabajamos-con-directoryservices.aspx

Comentarios

# re: Excepción cuando trabajamos con DirectoryServices

Hola Haaron,

LDAP tiene que ver con ADSI (Active Directory Service Interfaces).

Al tener relación con COM, es posible que tenga relación con C++, y por ende relación con case sensitive (esto es una conjetura de como esté desarrollada por debajo la API, algo que sospecho pero que también desconozco, por lo que me puedo equivocar en la razón que estoy dando).

Lo que sí te aseguro 100% es que lo que  te ha ocurrido pasa simplemente porque el proveedor es case sensitive.

LDAP debe estar en mayúsculas.

Esa es la razón principal.

Un saludo y gracias por comentarlo, siempre hay que tenerlo en cuenta. :)

Jorge

Thursday, August 25, 2011 6:13 PM por Jorge Serrano