FindState
このメソッドは、スコープと固有の問合せパラメータに基づいて、ゼロ個以上のPersonalizationStateInfo
導出オブジェクトを含むコレクションを戻します。
宣言
// C# public override PersonalizationStateInfoCollection FindState(PersonalizationScope scope, PersonalizationStateQuery query, int pageIndex, int pageSize, out int totalRecords);
パラメータ
-
scope
パーソナライズ情報の問合せのスコープ(ユーザーまたは共有)。これはnull参照にできません。
-
query
パーソナライズ情報のフィルタ処理に使用する問合せ。これはnull参照にできます。
-
pageIndex
問合せが開始する場所。
-
pageSize
戻すレコード数。
-
totalRecords
使用可能なレコードの総数。
戻り値
0個以上のPersonalizationStateInfo
導出オブジェクトを含むPersonalizationStateInfoCollection
オブジェクト。
例外
ArgumentOutOfRangeException
- スコープに、PersonalizationScope.User
またはPersonalizationScope.Shared
以外の値が含まれます。
OracleException
- Oracle関連のエラーが発生しました。
ArgumentException
- 次のいずれかの条件が存在します。
-
pageSize
パラメータの値が0または1です。 -
pageIndex
またはpageSize
パラメータが0未満です。 -
((
pageIndex * pageSize + pageSize
)- 1)がInt32.MaxValue
を超えています。-1は、レコードのゼロベース索引を考慮しています。
備考
PersonalizationStateInfo
導出オブジェクトは、英字順に戻され、Path
プロパティとUsername
プロパティの値の組合せで昇順にソートされます。
このメソッドは、問合せワイルドカード文字を基礎となるOracleデータベースに渡します。データベースは、query
パラメータのPathToMatch
プロパティ内の検索文字列テキストの先頭、末尾または途中に出現したワイルドカード文字で部分的なパスのワイルドカード検索を実行します。たとえば、PathToMatch
プロパティを~/appdir%
に設定すると、~/appdir
で始まるすべてのパスが見つかります。
同様に、部分的なユーザー名のワイルドカード検索では、ワイルドカード文字がquery
パラメータのUsernameToMatch
プロパティのテキスト文字列のどのポイントに出現してもかまいません。たとえば、scott
から始まるすべてのユーザー名を検索するには、UsernameToMatch
パラメータはscott%
のようになります。
次の問合せルールに従う必要があります。
-
scope
パラメータのみ指定され、query
パラメータがnull参照であるか、query
パラメータのすべてのプロパティがnull参照またはデフォルト値を戻す場合は、指定されたscope
パラメータに一致するすべてのレコードが戻されます。 -
PathToMatch
プロパティがnull参照でない場合、戻されるレコードでは、PathToMatch
値に一致するパスに基づくフィルタ処理も行われます。 -
UsernameToMatch
プロパティがnull参照でない場合、戻されるレコードでは、UsernameToMatch
プロパティ値に一致するユーザー名に基づくフィルタ処理も行われます。 -
UserInactiveSinceDate
プロパティがMaxValue
と等しくない場合は、戻されるレコードのフィルタ処理も行われ、非アクティブなユーザーに関連付けられているレコードのみ戻されます。比較には、Last
ActivityDate
プロパティがUser
Inactive
Since
Date
プロパティ以下であるレコードが含まれます。
このメソッドでは、問合せパラメータの組合せが検証されません。たとえば、アプリケーション・コードは、共有スコープ内の特定のユーザー名に関連付けられているパーソナライズ状態レコードのセットをリクエストできます。ユーザー名は共有情報に関連付けられていないため、戻されるコレクションは空です。