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 會取得 , MembershipUserCollection 其中包含 Active Directory 存放區中符合 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 所公開的分頁優化。 這表示在搜尋大型目錄期間的分頁作業非常昂貴,因此應該避免。 搜尋作業一律會針對連接字串中設定的目錄伺服器發出,或在指向網域的連接字串的情況下自動選取的伺服器發出。 提供者不會針對其搜尋方法使用全域編錄。