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 は 0 から始まります。

pageSize
Int32

取得する結果のページのサイズ。

totalRecords
Int32

このメソッドから制御が戻るとき、コレクション内のユーザーの総数を格納します。 このパラメーターは初期化せずに渡されます。

戻り値

pageIndex で指定されたページから始まる pageSizeMembershipUser インスタンスを格納している MembershipUserCollection

例外

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、 と serverSearchTimeout の両方の構成値を使用して検索をclientSearchTimeout発行します。 クラスは ActiveDirectoryMembershipProvider 、1 ページあたり 512 行のページを使用してディレクトリ サーバーに対して検索を実行するため、タイムアウトは クラスによって ActiveDirectoryMembershipProvider フェッチされた結果の各ページに適用されます。 たとえば、検索クエリで 1,000 行のデータが得られた場合、クラスはこの情報を ActiveDirectoryMembershipProvider 2 ページのデータとしてフェッチします。 これは、クラスがデータの 2 ページ目を要求すると、クライアントと検索のタイムアウトが ActiveDirectoryMembershipProvider 0 からカウントを開始することを意味します。

メソッドによってFindUsersByEmail返される結果は、 パラメーターと pageSize パラメーターによってpageIndex制限されます。 パラメーターは pageSize 、 で返されるインスタンスの MembershipUser 最大数を MembershipUserCollection指定します。 パラメーターは pageIndex 、返す結果のページを指定します。0 (ゼロ) は最初のページを示します。

パラメーターは totalRecordsout Active Directory データ ストアで見つかった一致するメンバーシップ ユーザーの合計数に設定されるパラメーターです。 たとえば、構成されたデータ ストアに 13 人のユーザーがいて、 pageIndex 値が 1 で、 pageSize が 5 の場合、 MembershipUserCollection 返されるには 6 番目から 10 番目のユーザーが含まれます。 パラメーターは totalRecords 13 に設定されます。

membership Element (ASP.NET Settings Schema) 要素の属性をEnableSearchMethods使用してenableSearchMethods、アプリケーションの構成ファイルで プロパティを設定することで、ユーザーの検索を許可するかどうかを制御できます。 プロパティを EnableSearchMethodsfalse 設定すると、 メソッドは FindUsersByEmail 例外を NotSupportedException スローします。

プロバイダーは、接続文字列で指定された検索ポイントから始まるサブツリー検索を使用します。 接続文字列の ActiveDirectoryMembershipProvider 詳細については、クラスのトピックを参照してください。

クラスによって ActiveDirectoryMembershipProvider 発行された検索クエリがディレクトリ サーバーのパフォーマンスに悪影響を与えないことを確認するまで、運用システムでの検索を有効にしないことをお勧めします。 ActiveDirectoryMembershipProviderクラスはステートレス Web 環境用に設計されているため、基になる System.DirectoryServices API によって公開されるページングの最適化を使用できません。 つまり、大規模なディレクトリに対する検索中のページング操作は非常にコストが高く、回避する必要があります。 検索操作は、接続文字列で構成されているディレクトリ サーバー、またはドメインを指す接続文字列の場合は自動的に選択されたサーバーに対して常に発行されます。 プロバイダーは、その検索方法にグローバル カタログを使用しません。

適用対象

こちらもご覧ください