ActiveDirectoryMembershipProvider.FindUsersByEmail Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Devolve uma coleção de utilizadores membros do armazenamento de dados do Active Directory com base no endereço de email do utilizador.
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 procurar.
- pageIndex
- Int32
O índice da página de resultados para devolver.
pageIndex é baseado em zero.
- pageSize
- Int32
O tamanho da página de resultados para devolver.
- totalRecords
- Int32
Quando este método regressa, contém o número total de utilizadores devolvidos na coleção. Este parâmetro é passado sem inicializar.
Devoluções
A MembershipUserCollection contendo pageSizeMembershipUser instâncias que começam na página especificada por pageIndex.
Exceções
O FindUsersByEmail(String, Int32, Int32, Int32) método é chamado antes da ActiveDirectoryMembershipProvider instância ser inicializada.
emailToMatch está vazio.
-ou-
emailToMatch ultrapassa os 256 caracteres.
-ou-
pageIndex é inferior a 0.
-ou-
pageSize é inferior a 1.
-ou-
pageSize multiplicado por pageIndex, mais pageSize, menos 1 é maior que Int32.MaxValue.
A propriedade EnableSearchMethods é false.
Observações
O método FindUsersByEmail recebe um MembershipUserCollection contendo os registos de utilizador da Active Directory store que correspondem aos parâmetros emailToMatch. Os registos de utilizador são devolvidos ordenados por ordem crescente por endereço de email.
O emailToMatch parâmetro está limitado a 256 caracteres.
A ActiveDirectoryMembershipProvider classe irá emitir a pesquisa usando ambos os valores de clientSearchTimeout configuração e serverSearchTimeout . Como a ActiveDirectoryMembershipProvider classe realiza pesquisas no servidor de diretórios usando páginas com 512 linhas por página, os time-outs aplicam-se a cada página de resultados obtida pela ActiveDirectoryMembershipProvider classe. Por exemplo, se uma consulta de pesquisa resultar em 1.000 linhas de dados, a ActiveDirectoryMembershipProvider classe irá buscar essa informação como duas páginas de dados. Isto significa que os tempos de espera do cliente e da pesquisa começarão a contar do zero quando a ActiveDirectoryMembershipProvider classe solicitar a segunda página de dados.
Os resultados devolvidos pelo FindUsersByEmail método são limitados pelos pageIndex parâmetros e pageSize . O pageSize parâmetro especifica o número máximo de MembershipUser instâncias a devolver no MembershipUserCollection. O pageIndex parâmetro especifica qual página de resultados devolver, onde 0 (zero) indica a primeira página.
O parâmetro totalRecords é um parâmetro out definido para o número total de utilizadores correspondentes encontrados no armazenamento de dados Active Directory. Por exemplo, se houver 13 utilizadores para o armazenamento de dados configurado, e o pageIndex valor for 1 com a pageSize de 5, os MembershipUserCollection devolvidos conterão do sexto ao décimo utilizador. O totalRecords parâmetro seria definido para 13.
Pode controlar se permite a pesquisa de utilizadores, definindo a propriedade EnableSearchMethods no ficheiro de configuração da aplicação usando o atributo enableSearchMethods do elemento membership (ASP.NET Settings Schema). Definir a EnableSearchMethods propriedade para false faz com que o FindUsersByEmail método lance uma NotSupportedException exceção.
O fornecedor utiliza uma pesquisa em subárvore que começa no ponto de pesquisa especificado na cadeia de ligação. Consulte o ActiveDirectoryMembershipProvider tópico da aula para mais informações sobre cordas de ligação.
Recomendamos que não ative a pesquisa em sistemas de produção até confirmar que as consultas de pesquisa emitidas pela ActiveDirectoryMembershipProvider classe não afetam negativamente o desempenho do seu servidor de diretórios. Como a ActiveDirectoryMembershipProvider classe foi concebida para um ambiente Web sem estado, não consegue utilizar as otimizações de paginação expostas pelas APIs subjacentes System.DirectoryServices . Isto significa que as operações de paginação durante pesquisas em grandes diretórios são muito dispendiosas e devem ser evitadas. As operações de pesquisa são sempre emitidas contra o servidor de diretório configurado na cadeia de ligação, ou contra um servidor selecionado automaticamente no caso de uma cadeia de ligação apontar para um domínio. O fornecedor não utiliza um catálogo global para os seus métodos de pesquisa.