Condividi tramite


ActiveDirectoryMembershipProvider.FindUsersByEmail Metodo

Definizione

Restituisce una raccolta di utenti di appartenenza dall'archivio dati di Active Directory in base all'indirizzo di posta elettronica dell'utente.

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

Parametri

emailToMatch
String

Indirizzo di posta elettronica o parte dell'indirizzo di posta elettronica da cercare.

pageIndex
Int32

Indice della pagina di risultati da restituire. pageIndex è in base zero.

pageSize
Int32

Dimensione della pagina di risultati da restituire.

totalRecords
Int32

Quando termina, il metodo contiene il numero totale degli utenti restituiti nell'insieme. Questo parametro viene passato non inizializzato.

Restituisce

Oggetto MembershipUserCollection che contiene le istanze di pageSizeMembershipUser che iniziano alla pagina specificata da pageIndex.

Eccezioni

Il metodo FindUsersByEmail(String, Int32, Int32, Int32) viene chiamato prima che venga inizializzata l'istanza della classe ActiveDirectoryMembershipProvider.

emailToMatch è vuoto.

-oppure-

emailToMatch è di lunghezza superiore a 256 caratteri.

-oppure-

pageIndex è minore di 0.

-oppure-

pageSize è minore di 1.

-oppure-

pageSize moltiplicato per pageIndex, più pageSize, meno 1 è maggiore di Int32.MaxValue.

La proprietà EnableSearchMethods è false.

Commenti

Il FindUsersByEmail metodo ottiene un MembershipUserCollection oggetto contenente i record utente dell'archivio Active Directory che corrispondono ai emailToMatch parametri. I record utente vengono restituiti ordinati in ordine crescente in base all'indirizzo di posta elettronica.

Il emailToMatch parametro è limitato a 256 caratteri.

La ActiveDirectoryMembershipProvider classe eseguirà la ricerca usando sia i valori di clientSearchTimeout configurazione che serverSearchTimeout i valori di configurazione. Poiché la ActiveDirectoryMembershipProvider classe esegue ricerche sul server directory usando pagine con 512 righe per pagina, i timeout si applicano a ogni pagina dei risultati recuperati dalla ActiveDirectoryMembershipProvider classe. Ad esempio, se una query di ricerca genera 1.000 righe di dati, la ActiveDirectoryMembershipProvider classe recupera queste informazioni come due pagine di dati. Ciò significa che il client e i timeout di ricerca inizieranno a contare da zero quando la classe richiede la ActiveDirectoryMembershipProvider seconda pagina di dati.

I risultati restituiti dal metodo sono vincolati dai FindUsersByEmailpageIndex parametri e pageSize . Il pageSize parametro specifica il numero massimo di MembershipUser istanze da restituire in MembershipUserCollection. Il pageIndex parametro specifica la pagina dei risultati da restituire, dove 0 (zero) indica la prima pagina.

Il totalRecords parametro è un out parametro impostato sul numero totale di utenti di appartenenza corrispondenti trovati nell'archivio dati di Active Directory. Ad esempio, se sono presenti 13 utenti per l'archivio dati configurato e il valore era 1 con un pageSize valore pari a 5, il pageIndexMembershipUserCollection restituito conterrà il sesto fino al decimo utenti. Il totalRecords parametro verrà impostato su 13.

È possibile controllare se consentire la ricerca degli utenti impostando la EnableSearchMethods proprietà nel file di configurazione dell'applicazione usando l'attributo enableSearchMethodsdell'elemento di appartenenza (ASP.NET Schema impostazioni). L'impostazione della EnableSearchMethods proprietà per false causare che il metodo generi un'eccezione FindUsersByEmailNotSupportedException .

Il provider usa una ricerca sottoalbero a partire dal punto di ricerca specificato nella stringa di connessione. Per altre informazioni sulle stringhe di connessione, vedere l'argomento ActiveDirectoryMembershipProvider della classe.

È consigliabile non abilitare la ricerca nei sistemi di produzione fino a quando non è stato confermato che le query di ricerca rilasciate dalla ActiveDirectoryMembershipProvider classe non influiscono negativamente sulle prestazioni del server directory. Poiché la ActiveDirectoryMembershipProvider classe è progettata per un ambiente Web senza stato, non è possibile usare le ottimizzazioni di paging esposte dalle API sottostanti System.DirectoryServices . Ciò significa che le operazioni di paging durante le ricerche su directory di grandi dimensioni sono molto costose e devono essere evitate. Le operazioni di ricerca vengono sempre rilasciate sul server directory configurato nella stringa di connessione oppure un server selezionato automaticamente nel caso di una stringa di connessione che punta a un dominio. Il provider non usa un catalogo globale per i metodi di ricerca.

Si applica a

Vedi anche