Compartir a través de


ActiveDirectoryMembershipProvider.GetUserNameByEmail(String) Método

Definición

Obtiene el nombre de usuario asociado con la dirección de correo electrónico especificada.

public:
 override System::String ^ GetUserNameByEmail(System::String ^ email);
public override string GetUserNameByEmail (string email);
override this.GetUserNameByEmail : string -> string
Public Overrides Function GetUserNameByEmail (email As String) As String

Parámetros

email
String

Dirección de correo electrónico que se va a buscar.

Devoluciones

Nombre de usuario asociado a la dirección de correo electrónico especificada.

Excepciones

email tiene más de 256 caracteres.

o bien

Después de recortar, email está vacío.

Existe más de un usuario en el almacén de datos con la misma dirección de correo electrónico, y el valor de la propiedad RequiresUniqueEmail es true.

El proveedor no se inicializa.

Comentarios

La clase llama Membership a este método para recuperar un nombre de usuario del almacén de datos de Active Directory en función de la dirección de correo electrónico del usuario.

Si más de un usuario del almacén de datos de pertenencia tiene la misma dirección de correo electrónico, se devuelve el primer nombre de usuario encontrado. Puede establecer el requiresUniqueEmail atributo del elemento truemembership Element (ASP.NET Settings Schema) en en el archivo de configuración de la aplicación para asegurarse de que cada dirección de correo electrónico de la base de datos es única.

Los espacios al inicio y al final se recortan del valor de parámetro email. Si la dirección de correo electrónico está vacía después del recorte, se produce una ArgumentException excepción . Si la dirección de correo electrónico es null, se buscan todos los nombres de usuario del almacén de datos de Active Directory y se devuelve el nombre de usuario.

Se recomienda no habilitar la búsqueda en sistemas de producción hasta que haya confirmado que las consultas de búsqueda emitidas por la ActiveDirectoryMembershipProvider clase no afectan negativamente al rendimiento del servidor de directorios.

Importante

El GetUserNameByEmail método se ejecutará incluso cuando la EnableSearchMethods propiedad sea false.

Puesto que la ActiveDirectoryMembershipProvider clase está diseñada para un entorno web sin estado, no puede usar las optimizaciones de paginación expuestas por las API subyacentes System.DirectoryServices . Esto significa que las operaciones de paginación durante las búsquedas en directorios grandes son muy costosas y deben evitarse. Las operaciones de búsqueda siempre se emiten en el servidor de directorios configurado en la cadena de conexión o en un servidor seleccionado automáticamente en el caso de una cadena de conexión que apunta a un dominio. El proveedor no usa un catálogo global para sus métodos de búsqueda.

El proveedor usa una búsqueda de subárbol que comienza en el punto de búsqueda especificado en la cadena de conexión. Consulte el ActiveDirectoryMembershipProvider tema de la clase para obtener más información sobre las cadenas de conexión.

Se aplica a

Consulte también