Condividi tramite


ActiveDirectoryMembershipProvider.GetUserNameByEmail(String) Metodo

Definizione

Ottiene il nome utente associato all'indirizzo di posta elettronica specificato.

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

Parametri

email
String

Indirizzo di posta elettronica da cercare.

Restituisce

Nome utente associato all'indirizzo di posta elettronica specificato.

Eccezioni

email è di lunghezza superiore a 256 caratteri.

-oppure-

dopo l'operazione di taglio, email è una stringa vuota.

Nell'archivio dati esistono più utenti con lo stesso indirizzo di posta elettronica e il valore della proprietà RequiresUniqueEmail è true.

Il provider non è inizializzato.

Commenti

Questo metodo viene chiamato dalla Membership classe per recuperare un nome utente dall'archivio dati di Active Directory in base all'indirizzo di posta elettronica per l'utente.

Se più utenti nell'archivio dati di appartenenza hanno lo stesso indirizzo di posta elettronica, viene restituito il primo nome utente rilevato. È possibile impostare l'attributo dell'elemento requiresUniqueEmaildi appartenenza (ASP.NET Schema impostazioni) su true nel file di configurazione dell'applicazione per assicurarsi che ogni indirizzo di posta elettronica nel database sia univoco.

Gli spazi iniziali e finali sono rimossi dal valore del parametro email. Se l'indirizzo di posta elettronica è vuoto dopo aver eseguito il trimming, viene generato un ArgumentException messaggio. Se l'indirizzo di posta elettronica è null, vengono cercati tutti i nomi utente nell'archivio dati di Active Directory e viene restituito il primo nome utente.

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

Importante

Il GetUserNameByEmail metodo verrà eseguito anche quando la EnableSearchMethods proprietà è false.

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.

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.

Si applica a

Vedi anche