共用方式為


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 指定的頁面開始。

例外狀況

emailToMatch 是空的。

-或-

emailToMatch 超過 256 個字元。

-或-

pageIndex 小於 0。

-或-

pageSize 小於 1。

-或-

pageSizepageIndex乘以 、加 pageSize 、減 1 大於Int32.MaxValue

備註

方法 FindUsersByEmail 會從符合參數的 Active Directory 存放區取得 MembershipUserCollection 包含使用者記錄的 emailToMatch 。 使用者記錄會依電子郵件地址以遞增順序傳回。

參數 emailToMatch 限制為 256 個字元。

類別 ActiveDirectoryMembershipProvider 會使用 clientSearchTimeoutserverSearchTimeout 組態值發出搜尋。 由於 類別 ActiveDirectoryMembershipProvider 會使用每頁 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。

您可以控制是否允許搜尋使用者,方法是使用 enableSearchMethods 成員資格元素的 屬性,在應用程式的組態檔中設定 EnableSearchMethods 屬性, (ASP.NET 設定架構) 元素。 EnableSearchMethods將 屬性設定為 會導致 falseFindUsersByEmail 方法擲 NotSupportedException 回例外狀況。

提供者會使用從連接字串中指定的搜尋點開始的子樹搜尋。 ActiveDirectoryMembershipProvider如需連接字串的詳細資訊,請參閱 類別主題。

建議您在生產系統上啟用搜尋,直到您確認 類別發出的 ActiveDirectoryMembershipProvider 搜尋查詢不會對目錄伺服器的效能造成負面影響。 由於 類別 ActiveDirectoryMembershipProvider 是針對無狀態 Web 環境所設計,因此無法使用基礎 System.DirectoryServices API 公開的分頁優化。 這表示搜尋大型目錄期間的分頁作業非常昂貴,因此應該避免。 搜尋作業一律會針對連接字串中所設定的目錄伺服器發出,或在指向網域的連接字串的情況下自動選取的伺服器發出。 提供者不會針對其搜尋方法使用通用類別目錄。

適用於

另請參閱