ActiveDirectoryMembershipProvider.GetUserNameByEmail(String) Methode

Definition

Ruft den Benutzernamen ab, der der angegebenen E-Mail-Adresse zugeordnet ist.

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

Parameter

email
String

Die gesuchte E-Mail-Adresse.

Gibt zurück

Der Benutzername, der der angegebenen E-Mail-Adresse zugeordnet ist.

Ausnahmen

email ist länger als 256 Zeichen.

- oder -

Nach dem Verkürzen ist email leer.

Im Datenspeicher sind mehrere Benutzer mit derselben E-Mail-Adresse vorhanden, und der RequiresUniqueEmail-Eigenschaftswert ist true.

Der Anbieter wird nicht initialisiert.

Hinweise

Diese Methode wird von der Membership -Klasse aufgerufen, um einen Benutzernamen aus dem Active Directory-Datenspeicher basierend auf der E-Mail-Adresse für den Benutzer abzurufen.

Wenn mehrere Benutzer im Mitgliedschaftsdatenspeicher dieselbe E-Mail-Adresse haben, wird der erste gefundene Benutzername zurückgegeben. Sie können das requiresUniqueEmail Attribut des Membership-Elements (ASP.NET Settings Schema) in der Anwendungskonfigurationsdatei auf true festlegen, um sicherzustellen, dass jede E-Mail-Adresse in der Datenbank eindeutig ist.

Beim email-Parameterwert werden führende und nachstehende Leerzeichen abgeschnitten. Wenn die E-Mail-Adresse nach dem Kürzen leer ist, wird ein ArgumentException ausgelöst. Wenn die E-Mail-Adresse lautet null, werden alle Benutzernamen im Active Directory-Datenspeicher durchsucht, und der erste Benutzername wird zurückgegeben.

Es wird empfohlen, die Suche auf Produktionssystemen erst dann zu aktivieren, wenn Sie bestätigt haben, dass die von der ActiveDirectoryMembershipProvider Klasse ausgegebenen Suchabfragen die Leistung Ihres Verzeichnisservers nicht beeinträchtigen.

Wichtig

Die GetUserNameByEmail -Methode wird auch ausgeführt, wenn die EnableSearchMethods -Eigenschaft ist false.

Da die ActiveDirectoryMembershipProvider Klasse für eine zustandslose Webumgebung konzipiert ist, kann sie die Pagingoptimierungen nicht verwenden, die von den zugrunde liegenden System.DirectoryServices APIs verfügbar gemacht werden. Dies bedeutet, dass Pagingvorgänge während der Suche mit großen Verzeichnissen sehr teuer sind und vermieden werden sollten. Suchvorgänge werden immer für den verzeichnisserver ausgegeben, der in der Verbindungszeichenfolge konfiguriert ist, oder für einen automatisch ausgewählten Server, wenn eine Verbindungszeichenfolge auf eine Domäne zeigt. Der Anbieter verwendet keinen globalen Katalog für seine Suchmethoden.

Der Anbieter verwendet eine Unterstruktursuche ab dem in der Verbindungszeichenfolge angegebenen Suchpunkt. Weitere Informationen zu Verbindungszeichenfolgen finden Sie im ActiveDirectoryMembershipProvider Klassenthema.

Gilt für:

Weitere Informationen