Compartir a través de


ActiveDirectoryMembershipProvider.FindUsersByEmail Método

Definición

Devuelve una colección de usuarios de pertenencia del almacén de datos de Active Directory basándose en la dirección de correo electrónico del usuario.

public:
 override System::Web::Security::MembershipUserCollection ^ FindUsersByEmail(System::String ^ emailToMatch, int pageIndex, int pageSize, [Runtime::InteropServices::Out] int % totalRecords);
public override System.Web.Security.MembershipUserCollection FindUsersByEmail (string emailToMatch, int pageIndex, int pageSize, out int totalRecords);
override this.FindUsersByEmail : string * int * int * int -> System.Web.Security.MembershipUserCollection
Public Overrides Function FindUsersByEmail (emailToMatch As String, pageIndex As Integer, pageSize As Integer, ByRef totalRecords As Integer) As MembershipUserCollection

Parámetros

emailToMatch
String

Dirección de correo electrónico (o una parte de esta) que se buscará.

pageIndex
Int32

Índice de la página de resultados que se va a devolver. pageIndex es de base cero.

pageSize
Int32

Tamaño de la página de resultados que se va a devolver.

totalRecords
Int32

El resultado que devuelva este método contendrá el número total de usuarios devueltos de la colección. Este parámetro se pasa sin inicializar.

Devoluciones

MembershipUserCollection que contiene instancias de pageSizeMembershipUser a partir de la página especificada por pageIndex.

Excepciones

emailToMatch está vacía.

o bien

emailToMatch tiene más de 256 caracteres.

o bien

pageIndex es menor que 0.

o bien

pageSize es menor que 1.

O bien

pageSize multiplicado por pageIndex, más pageSize, menos 1 es mayor que Int32.MaxValue.

Comentarios

El FindUsersByEmail método obtiene un MembershipUserCollection objeto que contiene los registros de usuario del almacén de Active Directory que coinciden con los emailToMatch parámetros. Los registros de usuario se devuelven ordenados en orden ascendente por dirección de correo electrónico.

El emailToMatch parámetro está limitado a 256 caracteres.

La ActiveDirectoryMembershipProvider clase emitirá la búsqueda mediante los valores de clientSearchTimeout configuración y serverSearchTimeout . Dado que la ActiveDirectoryMembershipProvider clase realiza búsquedas en el servidor de directorios mediante páginas con 512 filas por página, los tiempos de espera se aplican a cada página de resultados capturados por la ActiveDirectoryMembershipProvider clase . Por ejemplo, si una consulta de búsqueda da como resultado 1000 filas de datos, la ActiveDirectoryMembershipProvider clase capturará esta información como dos páginas de datos. Esto significa que el cliente y los tiempos de espera de búsqueda comenzarán a contar desde cero cuando la ActiveDirectoryMembershipProvider clase solicite la segunda página de datos.

Los resultados devueltos por el FindUsersByEmail método están restringidos por los pageIndex parámetros y pageSize . El pageSize parámetro especifica el número máximo de MembershipUser instancias que se van a devolver en .MembershipUserCollection El pageIndex parámetro especifica la página de resultados que se va a devolver, donde 0 (cero) indica la primera página.

El totalRecords parámetro es un out parámetro que se establece en el número total de usuarios de pertenencia coincidentes que se encuentran en el almacén de datos de Active Directory. Por ejemplo, si hay 13 usuarios para el almacén de datos configurado y el pageIndex valor era 1 con un pageSize valor de 5, el MembershipUserCollection devuelto contendrá el sexto hasta el décimo usuario. El totalRecords parámetro se establecería en 13.

Puede controlar si quiere permitir la búsqueda de usuarios estableciendo la EnableSearchMethods propiedad en el archivo de configuración de la aplicación mediante el enableSearchMethods atributo del elemento membership Element (ASP.NET Settings Schema). Establecer la EnableSearchMethods propiedad en false hace que el FindUsersByEmail método produzca una NotSupportedException excepción.

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 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. 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.

Se aplica a

Consulte también