ActiveDirectoryMembershipProvider.GetUserNameByEmail(String) Method

Definition

Gets the user name associated with the specified email address.

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

Parameters

email
String

The email address to search for.

Returns

The user name associated with the specified email address.

Exceptions

email exceeds 256 characters

-or-

after trimming, email is empty.

More than one user exists in the data store with the same email address and the RequiresUniqueEmail property value is true.

The provider is not initialized.

Remarks

This method is called by the Membership class to retrieve a user name from the Active Directory data store based on the email address for the user.

If more than one user in the membership data store has the same email address, the first user name encountered is returned. You can set the requiresUniqueEmail attribute of the membership Element (ASP.NET Settings Schema) element to true in the application configuration file to ensure that each email address in the database is unique.

Leading and trailing spaces are trimmed from the email parameter value. If the email address is empty after trimming, an ArgumentException is thrown. If the email address is null, all user names in the Active Directory data store are searched, and the first user name is returned.

We recommend that you do not enable searching on production systems until you have confirmed that the search queries issued by the ActiveDirectoryMembershipProvider class do not adversely impact your directory server's performance.

Important

The GetUserNameByEmail method will run even when the EnableSearchMethods property is false.

Since the ActiveDirectoryMembershipProvider class is designed for a stateless Web environment, it is unable to use the paging optimizations exposed by the underlying System.DirectoryServices APIs. This means that paging operations during searches against large directories are very expensive and should be avoided. Search operations are always issued against the directory server configured in the connection string, or an automatically selected server in the case of a connection string pointing at a domain. The provider does not use a global catalog for its search methods.

The provider uses a subtree search starting at the search point specified in the connection string. See the ActiveDirectoryMembershipProvider class topic for more information about connection strings.

Applies to

See also