ActiveDirectoryMembershipProvider.GetUserNameByEmail(String) Método
Definição
Obtém o nome de usuário associado ao endereço de email especificado.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
Parâmetros
- String
O endereço de email a ser pesquisado.The email address to search for.
Retornos
O nome de usuário associado ao endereço de email especificado.The user name associated with the specified email address.
Exceções
email excede 256 caracteresemail exceeds 256 characters
- ou --or-
após a filtragem, email está vazio.after trimming, email is empty.
Há mais de um usuário no armazenamento de dados com o mesmo endereço de email e o valor da propriedade RequiresUniqueEmail é true.More than one user exists in the data store with the same email address and the RequiresUniqueEmail property value is true.
O provedor não foi inicializado.The provider is not initialized.
Comentários
Esse método é chamado pela Membership classe para recuperar um nome de usuário do armazenamento de dados Active Directory com base no endereço de email do usuário.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.
Se mais de um usuário no armazenamento de dados de associação tiver o mesmo endereço de email, o primeiro nome de usuário encontrado será retornado.If more than one user in the membership data store has the same email address, the first user name encountered is returned. Você pode definir o requiresUniqueEmail atributo do elemento membership (esquema de configurações do ASP.net) como true no arquivo de configuração do aplicativo para garantir que cada endereço de email no banco de dados seja exclusivo.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.
Os espaços à esquerda e à direita são cortados do valor de parâmetro email.Leading and trailing spaces are trimmed from the email parameter value. Se o endereço de email estiver vazio após a remoção, um ArgumentException será lançado.If the email address is empty after trimming, an ArgumentException is thrown. Se o endereço de email for null , todos os nomes de usuário no repositório de dados de Active Directory serão pesquisados e o primeiro nome de usuário será retornado.If the email address is null, all user names in the Active Directory data store are searched, and the first user name is returned.
É recomendável não habilitar a pesquisa em sistemas de produção até que você confirme que as consultas de pesquisa emitidas pela ActiveDirectoryMembershipProvider classe não afetam negativamente o desempenho do servidor de diretório.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.
Importante
O GetUserNameByEmail método será executado mesmo quando a EnableSearchMethods propriedade for false .The GetUserNameByEmail method will run even when the EnableSearchMethods property is false.
Como a ActiveDirectoryMembershipProvider classe é projetada para um ambiente da Web sem estado, não é possível usar as otimizações de paginação expostas pelas APIs subjacentes System.DirectoryServices .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. Isso significa que as operações de paginação durante as pesquisas em diretórios grandes são muito caras e devem ser evitadas.This means that paging operations during searches against large directories are very expensive and should be avoided. As operações de pesquisa são sempre emitidas no servidor de diretório configurado na cadeia de conexão ou em um servidor selecionado automaticamente no caso de uma cadeia de conexão que aponta para um domínio.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. O provedor não usa um catálogo global para seus métodos de pesquisa.The provider does not use a global catalog for its search methods.
O provedor usa uma pesquisa de subárvore iniciada no ponto de pesquisa especificado na cadeia de conexão.The provider uses a subtree search starting at the search point specified in the connection string. Consulte o ActiveDirectoryMembershipProvider tópico de classe para obter mais informações sobre cadeias de conexão.See the ActiveDirectoryMembershipProvider class topic for more information about connection strings.