2012-01-09 19 views
5

Tengo una configuración de instancia de ADLDS en una máquina local (caja de Windows Server 2008 R2) para una nueva aplicación y he recogido algo de código .Net para acceder a ella. Esta es una de las funciones que estoy probando, ya que puedes ver sus cosas bastante simples.AD LDS lento en el primer acceso - ¿Por qué?

Dim MyLdapUri As New Uri(searchRoot) 

Using MyContext As New PrincipalContext(ContextType.ApplicationDirectory, 
             MyLdapUri.Authority, 
             MyLdapUri.LocalPath.Substring(1), ContextOptions.SimpleBind, 
             strUsername, strPassword) 
     Return UserPrincipal.FindByIdentity(MyContext, IdentityType.Name, username) 
    End Using 

Una cosa que me estoy encontrando sucediendo repetidamente ~ es un retraso de 18 años en la primera vez que llamo a esta o cualquier otra función para acceder a la instancia de una aplicación de banco de pruebas. Las llamadas posteriores realizadas a la instancia de AD LDS son del orden de 40 ms. Una vez que deja la instancia no solicitada durante unos minutos, las llamadas vuelven a tomar 18 segundos en la primera llamada.

No encuentro nada inconveniente en los registros de eventos. También intenté conectarme a la instancia de diferentes maneras (enlace simple a un usuario definido en la instancia anterior, usando cuentas de Windows tanto locales como de dominio) y este retraso adicional de 18 segundos en el primer golpe siempre ocurre. ¿Alguien puede darme alguna indicación sobre qué causa esto y/o cómo puedo diagnosticarlo/arreglarlo?

Respuesta

1

Esto puede deberse a la forma de autenticarse en su servidor.

¿El servidor en el que instala ADLDS está en un controlador de dominio?

¿Su computadora cliente está en el mismo dominio que su servidor?

¿Cómo su computadora cliente resuelve la parte DNS de su URI?

  • En su caso se reemplaza por LDAP://myserverLDAP://myserver.ourdomain.local.
+1

En la euforia de resolver esto olvidé actualizarlo durante varios meses. El problema parece ser una peculiaridad en la que el nombre de host en el uri que se utiliza debe ser LDAP completo: //myserver.ourdomain.local en lugar de LDAP: // miservidor. Extraño, y especialmente porque todo está en el mismo dominio pero parece funcionar dulcemente como una nuez después. También tuvimos un problema similar para los uris utilizados en las llamadas de WCF. – bigfatron

+0

Tuve los mismos problemas exactos que ocurren cada minutos. He buscado durante horas hasta que encontré tu publicación. Muchas gracias !!!!!!! – Vincent

+0

Para que pueda hacer clic en la pregunta como útil, incluso si no hace clic en la respuesta como útil. – JPBlanc