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 (ASP.NET Settings Schema). Если задать EnableSearchMethods для свойства значение , false метод вызовет FindUsersByEmailNotSupportedException исключение.

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

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

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

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