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,其中包含从 pageSize 所指定的页开始的 pageIndexMembershipUser 实例。

例外

emailToMatch 为空。

- 或 -

emailToMatch 的长度超过 256 个字符。

- 或 -

pageIndex 小于 0。

- 或 -

pageSize 小于 1。

pageSizepageIndex以 、加 pageSize,减 1 大于 Int32.MaxValue

注解

方法 FindUsersByEmail 从 Active Directory 存储中获取 MembershipUserCollection 包含与参数匹配的用户记录的 emailToMatch 。 按电子邮件地址的升序排序返回用户记录。

参数 emailToMatch 限制为 256 个字符。

ActiveDirectoryMembershipProvider将使用 和 serverSearchTimeout 配置值发出搜索clientSearchTimeoutActiveDirectoryMembershipProvider由于 类使用每页 512 行的页面对目录服务器执行搜索,超时适用于类提取ActiveDirectoryMembershipProvider的每个结果页。 例如,如果搜索查询生成 1,000 行数据,则 ActiveDirectoryMembershipProvider 类将提取此信息作为两页数据。 这意味着,当 类请求第二页数据时 ActiveDirectoryMembershipProvider ,客户端和搜索超时将从零开始计数。

方法返回 FindUsersByEmail 的结果受 pageIndexpageSize 参数的约束。 参数pageSize指定要在 中MembershipUserCollection返回的最大MembershipUser实例数。 参数 pageIndex 指定要返回的结果页,其中 0 (零) 表示第一页。

参数 totalRecords 是一个 out 参数,设置为在 Active Directory 数据存储中找到的匹配成员身份用户总数。 例如,如果配置的数据存储有 13 个用户,并且 pageIndex 值为 1,值为 pageSize 5, MembershipUserCollection 则返回的 将包含第六个到第十个用户。 参数 totalRecords 将设置为 13。

通过使用 membership Element (ASP.NET Settings Schema) 元素的 属性在应用程序的配置文件enableSearchMethods中设置 EnableSearchMethods 属性,可以控制是否允许搜索用户。 将 EnableSearchMethods 属性设置为 false 会导致 FindUsersByEmail 方法引发 NotSupportedException 异常。

提供程序使用从连接字符串中指定的搜索点开始的子树搜索。 有关连接字符串的详细信息, ActiveDirectoryMembershipProvider 请参阅类主题。

建议在确认 类发出的 ActiveDirectoryMembershipProvider 搜索查询不会对目录服务器的性能产生负面影响之前,不要在生产系统上启用搜索。 ActiveDirectoryMembershipProvider由于 类专为无状态 Web 环境设计,因此它无法使用基础 System.DirectoryServices API 公开的分页优化。 这意味着,在搜索大型目录期间执行分页操作的成本很高,应避免这样做。 搜索操作始终针对连接字符串中配置的目录服务器,或者在连接字符串指向域的情况下自动选择的服务器发出搜索操作。 提供程序不对其搜索方法使用全局编录。

适用于

另请参阅