Compartilhar via


ActiveDirectoryMembershipProvider.FindUsersByEmail Método

Definição

Retorna uma coleção de usuários associados de armazenamento de dados do Active Directory com base no endereço de email do usuário.

public:
 override System::Web::Security::MembershipUserCollection ^ FindUsersByEmail(System::String ^ emailToMatch, int pageIndex, int pageSize, [Runtime::InteropServices::Out] int % totalRecords);
public override System.Web.Security.MembershipUserCollection FindUsersByEmail (string emailToMatch, int pageIndex, int pageSize, out int totalRecords);
override this.FindUsersByEmail : string * int * int * int -> System.Web.Security.MembershipUserCollection
Public Overrides Function FindUsersByEmail (emailToMatch As String, pageIndex As Integer, pageSize As Integer, ByRef totalRecords As Integer) As MembershipUserCollection

Parâmetros

emailToMatch
String

Endereço de email ou parte do endereço de email a serem pesquisados.

pageIndex
Int32

O índice da página de resultados a serem retornados. pageIndex é baseado em zero.

pageSize
Int32

O tamanho da página de resultados a ser retornada.

totalRecords
Int32

Quando este método retorna, contém o número total de usuários retornado da coleção. Este parâmetro é passado não inicializado.

Retornos

Um MembershipUserCollection contendo instâncias pageSizeMembershipUser começando na página especificada por pageIndex.

Exceções

emailToMatch está vazio.

- ou -

emailToMatch excede 256 caracteres.

- ou -

pageIndex é menor que 0.

- ou -

pageSize é menor que 1.

- ou -

pageSize multiplicado por pageIndex, mais pageSize, menos 1 é maior que Int32.MaxValue.

A propriedade EnableSearchMethods é false.

Comentários

O FindUsersByEmail método obtém um MembershipUserCollection que contém os registros de usuário do repositório do Active Directory que correspondem aos emailToMatch parâmetros. Os registros de usuário são retornados classificados em ordem crescente por endereço de email.

O emailToMatch parâmetro é limitado a 256 caracteres.

A ActiveDirectoryMembershipProvider classe emitirá a pesquisa usando os clientSearchTimeout valores de configuração e serverSearchTimeout . Como a ActiveDirectoryMembershipProvider classe executa pesquisas no servidor de diretório usando páginas com 512 linhas por página, os tempos limite se aplicam a cada página de resultados buscados pela ActiveDirectoryMembershipProvider classe . Por exemplo, se uma consulta de pesquisa resultar em 1.000 linhas de dados, a ActiveDirectoryMembershipProvider classe buscará essas informações como duas páginas de dados. Isso significa que os tempos limite do cliente e da pesquisa começarão a contar a partir de zero quando a ActiveDirectoryMembershipProvider classe solicitar a segunda página de dados.

Os resultados retornados pelo FindUsersByEmail método são restritos pelos pageIndex parâmetros e pageSize . O pageSize parâmetro especifica o número máximo de MembershipUser instâncias a serem retornadas no MembershipUserCollection. O pageIndex parâmetro especifica qual página de resultados retornar, em que 0 (zero) indica a primeira página.

O totalRecords parâmetro é um out parâmetro definido como o número total de usuários de associação correspondentes encontrados no armazenamento de dados do Active Directory. Por exemplo, se houver 13 usuários para o armazenamento de dados configurado e o pageIndex valor for 1 com um pageSize de 5, o MembershipUserCollection retornado conterá o sexto até o décimo usuário. O totalRecords parâmetro seria definido como 13.

Você pode controlar se deseja permitir a pesquisa de usuários definindo a EnableSearchMethods propriedade no arquivo de configuração do aplicativo usando o enableSearchMethods atributo do elemento membership Element (ASP.NET Settings Schema). Definir a EnableSearchMethods propriedade como false faz com que o FindUsersByEmail método gere uma NotSupportedException exceção.

O provedor usa uma pesquisa de subárvores começando no ponto de pesquisa especificado na cadeia de conexão. Consulte o tópico de ActiveDirectoryMembershipProvider classe para obter mais informações sobre cadeias de conexão.

Recomendamos que você não habilite a pesquisa em sistemas de produção até confirmar que as consultas de pesquisa emitidas pela classe não afetam negativamente o ActiveDirectoryMembershipProvider desempenho do servidor de diretório. Como a ActiveDirectoryMembershipProvider classe foi projetada para um ambiente Web sem estado, não é possível usar as otimizações de paginação expostas pelas APIs subjacentes System.DirectoryServices . Isso significa que as operações de paginação durante pesquisas em diretórios grandes são muito caras e devem ser evitadas. As operações de pesquisa sempre são 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 apontando para um domínio. O provedor não usa um catálogo global para seus métodos de pesquisa.

Aplica-se a

Confira também