usuarios usuario single net ejemplos crear consultas consultar conectar con active .net exception-handling active-directory directoryservices

.net - usuario - ejemplos consultas ldap active directory



Excepción de Intermittant en System.DirectoryServices (2)

Tengo un extraño System.DirectoryServices Issue que aparece intermitentemente.

La excepción a continuación se arroja periódicamente en el siguiente código

private PrincipalSearchResult<Principal> GetAuthorizationGroups(UserPrincipal userPrincipal, int tries) { try { //Exception is thrown on this line below return userPrincipal.GetAuthorizationGroups(); } catch (AppDomainUnloadedException ex) { if (tries > 5) { throw; } tries += 1; Thread.Sleep(5000); return GetAuthorizationGroups(userPrincipal, tries); } catch (Exception ex) { throw; } }

Extraction Stacktrace en System.Reflection.RuntimeAssembly._nLoad (AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark y stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) en System.Reflection.RuntimeAssembly.LoadWithPartialNameInternal (AssemblyName an, Evidence securityEvidence, StackCrawlMark y stackMark) en System.DirectoryServices.AccountManagement.UnsafeNativeMethods.IADsPathname.Retrieve (Int32 lnFormatType) en System.DirectoryServices.AccountManagement.ADStoreCtx.LoadDomainInfo () en System.DirectoryServices.AccountManagement.ADStoreCtx.get_DnsDomainName () en System.DirectoryServices.AccountManagement. ADStoreCtx.GetGroupsMemberOfAZ (p principal) en System.DirectoryServices.AccountManagement.UserPrincipal.GetAuthorizationGroupsHelper ()

También es muy extraño el Exception.Message que es: No se pudo cargar el archivo o ensamblado ''MyCustomAssembly.XmlSerializers'' o una de sus dependencias. El sistema no puede encontrar el archivo especificado

Lo curioso es que MyCustomAssembly ni siquiera se menciona en este ensamblaje.

Creo que el Exception.Message no coincide con la información de Debug y la Stacktrace real es más o menos la excepción correcta.

¿Alguna idea de por qué está pasando esto?


Sé que preguntaste esto hace mucho tiempo, pero tuve este problema yo mismo y lo resolví revisando mi administrador de configuración de compilación y asegurándome de que todos los proyectos apuntaran a la misma CPU. Tenía 2 compilaciones para "Cualquier CPU" y Windows. Formularios de aplicaciones de prueba construidas hacia x86. Cambié esto a Cualquier CPU y el problema desapareció.

Tengo la propina de aqui


Esto nos sucedió recientemente cuando actualizamos el servidor a .NET 4.5 (encontramos FileNotFoundException y NotSupportedException ). Nuestra solución estaba orientada a .NET 4 por lo que creo que puede haber algún problema de compatibilidad con versiones anteriores cuando .NET 4.5 intenta ejecutar una aplicación .NET 4 y conectarse a Active Directory .

Cambiar la solución al objetivo 4.5 y volver a publicar en el servidor parecía ser el truco.

A continuación se muestra cómo lograr esto.

Asegúrese de que todos los proyectos en su solución se dirijan a 4.5 :

Haga clic derecho en su proyecto -> Properties -> Application Tab

Asegúrese también de que IIS esté utilizando la versión de marco correcta (en el momento de la publicación, debe apuntar a 4.0):