8.1.5.1 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プロパティ以下であるレコードが含まれます。

このメソッドでは、問合せパラメータの組合せが検証されません。たとえば、アプリケーション・コードは、共有スコープ内の特定のユーザー名に関連付けられているパーソナライズ状態レコードのセットをリクエストできます。ユーザー名は共有情報に関連付けられていないため、戻されるコレクションは空です。