Share via


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 dall'archivio di 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 clientSearchTimeout valori di serverSearchTimeout configurazione che . 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 restituisce 1.000 righe di dati, la ActiveDirectoryMembershipProvider classe recupererà 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 FindUsersByEmail metodo sono vincolati dai pageIndex 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 pageIndex valore è 1 con un pageSize valore pari a 5, il MembershipUserCollection valore restituito conterrà il sesto al decimo utente. Il totalRecords parametro verrà impostato su 13.

È possibile controllare se consentire la ricerca di utenti impostando la EnableSearchMethods proprietà nel file di configurazione dell'applicazione usando l'attributo dell'elemento enableSearchMethodsmembership Element (ASP.NET Settings Schema). Se si imposta la EnableSearchMethods proprietà su false , il FindUsersByEmail metodo genera un'eccezione NotSupportedException .

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 relativo alla ActiveDirectoryMembershipProvider classe.

È consigliabile non abilitare la ricerca nei sistemi di produzione finché non si è verificato che le query di ricerca eseguite 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 eseguite sul server di directory configurato nella stringa di connessione o su 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