ActiveDirectoryMembershipProvider.FindUsersByEmail 메서드

정의

사용자의 이메일 주소를 기준으로 Active Directory 데이터 저장소에서 멤버 자격 사용자 컬렉션을 반환합니다.

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

매개 변수

emailToMatch
String

검색할 이메일 주소 또는 이메일 주소의 일부입니다.

pageIndex
Int32

반환할 결과 페이지의 인덱스입니다. pageIndex는 0부터 시작합니다.

pageSize
Int32

반환할 결과 페이지의 크기입니다.

totalRecords
Int32

이 메서드가 반환될 때, 컬렉션에 반환된 전체 사용자 수가 포함됩니다. 이 매개 변수는 초기화되지 않은 상태로 전달됩니다.

반환

pageSize에 지정된 페이지에서 시작하는 pageIndexMembershipUserCollection 인스턴스가 포함된 MembershipUser입니다.

예외

FindUsersByEmail(String, Int32, Int32, Int32) 인스턴스가 초기화되기 전에 ActiveDirectoryMembershipProvider 메서드가 호출된 경우

emailToMatch가 비어 있는 경우

또는

emailToMatch이 256자를 초과하는 경우

또는

pageIndex 가 0보다 작습니다.

또는

pageSize 가 1보다 작습니다.

또는

pageSize 를 곱한 pageIndex다음 pageSize, 을 뺀 값 1이 Int32.MaxValue보다 큽 있습니다.

EnableSearchMethods 속성은 false입니다.

설명

메서드는 FindUsersByEmail 매개 변수와 일치하는 Active Directory 저장소에서 사용자 레코드를 포함하는 을 emailToMatch 가져옵니다MembershipUserCollection. 사용자 레코드는 전자 메일 주소별로 오름차순으로 정렬된 상태로 반환됩니다.

매개 변수는 emailToMatch 256자로 제한됩니다.

클래스는 ActiveDirectoryMembershipProviderserverSearchTimeout 구성 값을 모두 사용하여 검색을 clientSearchTimeout 실행합니다. 클래스는 ActiveDirectoryMembershipProvider 페이지당 행이 512개인 페이지를 사용하여 디렉터리 서버에 대한 검색을 수행하므로 클래스에서 가져온 ActiveDirectoryMembershipProvider 결과의 각 페이지에 제한 시간이 적용됩니다. 예를 들어 검색 쿼리로 인해 1,000개의 데이터 행이 발생하는 경우 클래스는 ActiveDirectoryMembershipProvider 이 정보를 두 페이지의 데이터로 가져옵니다. 즉, 클래스가 데이터의 두 번째 페이지를 요청할 때 클라이언트 및 검색 시간 제한은 ActiveDirectoryMembershipProvider 0부터 계산하기 시작합니다.

메서드에서 반환된 FindUsersByEmail 결과는 및 pageSize 매개 변수에 pageIndex 의해 제한됩니다. 매개 변수는 pageSize 에서 MembershipUserCollection반환할 최대 인스턴스 수를 MembershipUser 지정합니다. 매개 변수는 pageIndex 반환할 결과의 페이지를 지정합니다. 여기서 0은 첫 번째 페이지를 나타냅니다.

totalRecords 매개 변수는 out Active Directory 데이터 저장소에 있는 일치하는 멤버 자격 사용자의 총 수로 설정된 매개 변수입니다. 예를 들어 구성된 데이터 저장소에 대한 사용자가 13명이고 pageIndex 값이 1이고 가 5 MembershipUserCollection 인 경우 반환된 에는 여섯 번째부터 10 pageSize 번째까지의 사용자가 포함됩니다. totalRecords 13 매개 변수를 설정 합니다.

membership 요소(ASP.NET 설정 스키마) 요소의 특성을 사용하여 enableSearchMethods 애플리케이션의 구성 파일에서 속성을 설정 EnableSearchMethods 하여 사용자 검색을 허용할지 여부를 제어할 수 있습니다. 속성을 로 EnableSearchMethodsfalse 설정하면 메서드가 FindUsersByEmail 예외를 throw합니다 NotSupportedException .

공급자는 연결 문자열에 지정된 검색 지점에서 시작하는 하위 트리 검색을 사용합니다. 연결 문자열에 ActiveDirectoryMembershipProvider 대한 자세한 내용은 클래스 항목을 참조하세요.

클래스에서 발급 ActiveDirectoryMembershipProvider 한 검색 쿼리가 디렉터리 서버의 성능에 부정적인 영향을 미치지 않는지 확인할 때까지 프로덕션 시스템에서 검색을 사용하도록 설정하지 않는 것이 좋습니다. 클래스는 ActiveDirectoryMembershipProvider 상태 비저장 웹 환경을 위해 설계되었으므로 기본 API에서 노출하는 페이징 최적화를 System.DirectoryServices 사용할 수 없습니다. 즉, 큰 디렉터리에 대한 검색 중에 페이징 작업은 매우 비용이 많이 들며 피해야 합니다. 검색 작업은 항상 연결 문자열에 구성된 디렉터리 서버 또는 도메인을 가리키는 연결 문자열의 경우 자동으로 선택된 서버에 대해 실행됩니다. 공급자는 검색 방법에 전역 카탈로그를 사용하지 않습니다.

적용 대상

추가 정보