Поделиться через


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 отсчитывается от нуля.

pageSize
Int32

Размер возвращаемой страницы результатов.

totalRecords
Int32

По окончании метод возвращает общее число пользователей, возвращенных в коллекции. Этот параметр передается неинициализированным.

Возвращаемое значение

Объект MembershipUserCollection, содержащий экземпляры pageSizeMembershipUser, начиная со страницы, определенной параметром pageIndex.

Исключения

Метод FindUsersByEmail(String, Int32, Int32, Int32) вызывается до инициализации экземпляра ActiveDirectoryMembershipProvider.

Параметр emailToMatch пуст.

-или-

Длина параметра emailToMatch превышает 256 символов.

-или-

Значение параметраpageIndex меньше 0.

-или-

Значение параметраpageSize меньше 1.

-или-

pageSize умножено на pageIndex, плюс pageSize, минус 1 больше , чем Int32.MaxValue.

Значение свойства EnableSearchMethodsfalse.

Комментарии

Метод FindUsersByEmail получает объект , MembershipUserCollection содержащий записи пользователя из хранилища Active Directory, которые соответствуют emailToMatch параметрам. Записи пользователей отсортированы по адресам электронной почты в порядке возрастания.

Длина emailToMatch параметра ограничена 256 символами.

Класс ActiveDirectoryMembershipProvider будет выполнять поиск с использованием значений конфигурации clientSearchTimeout и serverSearchTimeout . ActiveDirectoryMembershipProvider Так как класс выполняет поиск на сервере каталогов, используя страницы с 512 строками на странице, время ожидания применяется к каждой странице результатов, полученные классомActiveDirectoryMembershipProvider. Например, если поисковый запрос содержит 1000 строк данных, ActiveDirectoryMembershipProvider класс будет получить эти сведения в виде двух страниц данных. Это означает, что время ожидания клиента и поиска начнет отсчитывать с нуля, ActiveDirectoryMembershipProvider когда класс запрашивает вторую страницу данных.

Результаты, возвращаемые методом FindUsersByEmail , ограничены параметрами pageIndex и pageSize . Параметр pageSize задает максимальное количество экземпляровMembershipUser, возвращаемых в .MembershipUserCollection Параметр pageIndex указывает, какую страницу результатов следует вернуть, где 0 (ноль) указывает на первую страницу.

Параметр totalRecords — это out параметр, в котором задается общее число соответствующих пользователей членства, найденных в хранилище данных Active Directory. Например, если настроенное хранилище данных имеет 13 пользователей и pageIndex значение равно 1 с pageSize 5, MembershipUserCollection возвращаемый будет содержать от шестого по десятый пользователей. Параметру totalRecords будет присвоено значение 13.

Вы можете управлять разрешением поиска пользователей, задав EnableSearchMethods свойство в файле конфигурации приложения с помощью enableSearchMethods атрибута элемента membership Element (ASP.NET Settings Schema). EnableSearchMethods Если задать для свойства значение false , метод вызовет FindUsersByEmailNotSupportedException исключение.

Поставщик использует поиск по поддереву, начиная с точки поиска, указанной в строке подключения. ActiveDirectoryMembershipProvider Дополнительные сведения о строках подключения см. в разделе о классах.

Рекомендуется не включать поиск в рабочих системах, пока не будет подтверждено, что поисковые запросы, выданные классом ActiveDirectoryMembershipProvider , не влияют на производительность сервера каталогов. ActiveDirectoryMembershipProvider Так как класс предназначен для веб-среды без отслеживания состояния, он не может использовать оптимизации разбиения по страницам, предоставляемые базовыми System.DirectoryServices API. Это означает, что операции разбиения по страницам во время поиска в больших каталогах являются очень дорогостоящими и их следует избегать. Операции поиска всегда выполняются для сервера каталогов, настроенного в строке подключения, или на автоматически выбранном сервере в случае строки подключения, указывающей на домен. Поставщик не использует глобальный каталог для своих методов поиска.

Применяется к

См. также раздел