ActiveDirectoryMembershipProvider.FindUsersByEmail Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 pageSize
MembershipUser a partir de la página especificada por pageIndex
.
Excepciones
Se llama al método FindUsersByEmail(String, Int32, Int32, Int32) antes de que se inicializa la instancia de ActiveDirectoryMembershipProvider.
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.
La propiedad EnableSearchMethods es false
.
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.