Share via


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 requiresUniqueEmailmembership (ASP.NET Settings Schema) 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 il taglio, viene generata un'eccezione ArgumentException . 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 finché non si è verificato che le query di ricerca eseguite 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 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.

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.

Si applica a

Vedi anche