ActiveDirectoryMembershipProvider.FindUsersByEmail 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
根據使用者的電子郵件地址從 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
MembershipUser 執行個體,從 pageIndex
指定的頁面開始。
例外狀況
FindUsersByEmail(String, Int32, Int32, Int32) 方法的呼叫,會在初始化 ActiveDirectoryMembershipProvider 執行個體之前進行。
emailToMatch
是空的。
-或-
emailToMatch
超過 256 個字元。
-或-
pageIndex
小於 0。
-或-
pageSize
小於 1。
-或-
pageSize
pageIndex
乘以 、加 pageSize
、減 1 大於Int32.MaxValue。
EnableSearchMethods 屬性為 false
。
備註
方法 FindUsersByEmail 會從符合參數的 Active Directory 存放區取得 MembershipUserCollection 包含使用者記錄的 emailToMatch
。 使用者記錄會依電子郵件地址以遞增順序傳回。
參數 emailToMatch
限制為 256 個字元。
類別 ActiveDirectoryMembershipProvider 會使用 clientSearchTimeout
和 serverSearchTimeout
組態值發出搜尋。 由於 類別 ActiveDirectoryMembershipProvider 會使用每頁 512 個數據列的頁面,對目錄伺服器執行搜尋,因此逾時會套用至 類別所 ActiveDirectoryMembershipProvider 擷取結果的每個頁面。 例如,如果搜尋查詢結果為 1,000 個數據列,類別 ActiveDirectoryMembershipProvider 會將此資訊擷取為兩個數據頁。 這表示當類別要求第二頁數據時 ActiveDirectoryMembershipProvider ,用戶端和搜尋逾時會從零開始計算。
方法傳 FindUsersByEmail 回的結果受限於 pageIndex
和 pageSize
參數。 參數 pageSize
會指定要在 中 MembershipUserCollection 傳回的 MembershipUser 實例數目上限。 參數 pageIndex
會指定要傳回的結果頁面,其中 0 (零) 表示第一頁。
參數 totalRecords
是參數 out
,設定為 Active Directory 資料存放區中找到的相符成員資格使用者總數。 例如,如果已設定的資料存放區有 13 位使用者,且 pageIndex
值為 1 pageSize
且值為 5,則 MembershipUserCollection 傳回的 會包含第六個到第十個使用者。 參數 totalRecords
會設定為 13。
您可以控制是否允許搜尋使用者,方法是使用 enableSearchMethods
成員資格元素的 屬性,在應用程式的組態檔中設定 EnableSearchMethods 屬性, (ASP.NET 設定架構) 元素。 EnableSearchMethods將 屬性設定為 會導致 false
FindUsersByEmail 方法擲 NotSupportedException 回例外狀況。
提供者會使用從連接字串中指定的搜尋點開始的子樹搜尋。 ActiveDirectoryMembershipProvider如需連接字串的詳細資訊,請參閱 類別主題。
建議您在生產系統上啟用搜尋,直到您確認 類別發出的 ActiveDirectoryMembershipProvider 搜尋查詢不會對目錄伺服器的效能造成負面影響。 由於 類別 ActiveDirectoryMembershipProvider 是針對無狀態 Web 環境所設計,因此無法使用基礎 System.DirectoryServices API 公開的分頁優化。 這表示搜尋大型目錄期間的分頁作業非常昂貴,因此應該避免。 搜尋作業一律會針對連接字串中所設定的目錄伺服器發出,或在指向網域的連接字串的情況下自動選取的伺服器發出。 提供者不會針對其搜尋方法使用通用類別目錄。
適用於
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應