PersonalizationProvider クラス

定義

パーソナル化プロバイダーの基本的な機能を実装します。

public ref class PersonalizationProvider abstract : System::Configuration::Provider::ProviderBase
public abstract class PersonalizationProvider : System.Configuration.Provider.ProviderBase
type PersonalizationProvider = class
    inherit ProviderBase
Public MustInherit Class PersonalizationProvider
Inherits ProviderBase
継承
PersonalizationProvider
派生

注釈

これは、パーソナル化プロバイダーの必要な機能を定義する抽象基本クラスです。 パーソナル化プロバイダーは、 WebPartPersonalization インスタンスに代わってパーソナル化データを読み込んで格納します。

基底クラスは、さまざまなメソッドの標準動作を定義します。基になるデータ ストアを特に処理するメソッドのみが抽象としてマークされます。 これにより、開発者は、 WebPartPersonalization クラスで使用される標準機能を再実装する必要なく、特定のデータ ストアと対話するカスタム プロバイダーを作成できます。

注意 (実装者)

PersonalizationProviderから派生し、このクラスで定義されている抽象メソッドに対してのみ実装を提供できます。 抽象メソッドでは、データの保存と物理データ ストアへの読み込み、およびデータ ストアの管理が特に行われます。 カスタム プロバイダーは、 Shared データと User データを区別する方法でパーソナル化情報を操作できる必要があります。 さらに、プロバイダーは、ページ別およびアプリケーション別にパーソナル化データをセグメント化する必要があります。

一部のパーソナル化プロバイダー メソッドはPersonalizationProvider派生クラスのインスタンスを返すので、PersonalizationStateの実装はPersonalizationStateの実装と密接に結び付けられます。 カスタム プロバイダーの開発を容易にするために、 PersonalizationProvider 基本クラスには、パーソナル化ロジックと、 WebPartPersonalization クラスによって直接使用されるシリアル化/逆シリアル化ロジックの既定の実装が含まれています。 その結果、別のデータ ストアを操作する目的でのみカスタム プロバイダーを作成するには、次の抽象メソッドの実装のみが必要です。

  • GetCountOfState(PersonalizationScope, PersonalizationStateQuery) - このメソッドは、指定されたクエリ パラメーターについて、データベース内のパーソナル化データの行数をカウントできる必要があります。

  • LoadPersonalizationBlobs(WebPartManager, String, String, Byte[], Byte[]) - パスとユーザー名を指定すると、このメソッドは 2 つのバイナリ ラージ オブジェクト (BLOB) をデータベースから読み込みます。1 つは共有データ用の BLOB で、1 つはユーザー データ用です。 ユーザー名とパスを指定する場合は、ユーザー名/パス情報を指定できるページ情報にアクセスするために、 WebPartManager コントロールは必要ありません。

  • ResetPersonalizationBlob(WebPartManager, String, String) - パスとユーザー名を指定すると、このメソッドはデータベース内の対応する行を削除します。 ユーザー名とパスを指定する場合は、ユーザー名/パス情報を指定できるページ情報にアクセスするために、 WebPartManager コントロールは必要ありません。

  • SavePersonalizationBlob(WebPartManager, String, String, Byte[]) - パスとユーザー名を指定すると、このメソッドは指定された BLOB をデータベースに保存します。 ユーザー名とパスを指定する場合は、ユーザー名/パス情報を指定できるページ情報にアクセスするために、 WebPartManager コントロールは必要ありません。

これらのすべてのメソッドで、パスのみが指定されている場合は、ページの共有パーソナル化データが操作されていることを示します。 パスとユーザー名の両方がメソッドに渡される場合は、ページのユーザーパーソナル化データを処理する必要があります。 LoadPersonalizationBlobs(WebPartManager, String, String, Byte[], Byte[])の場合は、指定したパスの共有データを常に読み込む必要があります。必要に応じて、ユーザー名がnullされていない場合は、パスのユーザーパーソナル化データも読み込む必要があります。

他のすべての抽象メソッドは、管理アプリケーションでのみ使用することを目的としており、実行時に Web パーツ インフラストラクチャで使用されません。 パーソナル化プロバイダーの実装の例については、 SqlPersonalizationProvider クラスを参照してください。

コンストラクター

名前 説明
PersonalizationProvider()

PersonalizationProvider クラスの新しいインスタンスを初期化します。

プロパティ

名前 説明
ApplicationName

派生クラスでオーバーライドされると、プロバイダー用に構成されたアプリケーションの名前を取得または設定します。

Description

管理ツールやその他のユーザー インターフェイス (UI) での表示に適した簡単でわかりやすい説明を取得します。

(継承元 ProviderBase)
Name

構成時にプロバイダーを参照するために使用されるフレンドリ名を取得します。

(継承元 ProviderBase)

メソッド

名前 説明
CreateSupportedUserCapabilities()

Web パーツ コントロール セットで使用される既知の機能のセットを表す WebPartUserCapability オブジェクトの一覧を返します。

DetermineInitialScope(WebPartManager, PersonalizationState)

初期パーソナル化スコープを Shared するか、スコープ User するかを決定します。

DetermineUserCapabilities(WebPartManager)

現在実行中のユーザー アカウントのパーソナル化関連の機能を表す WebPartUserCapability インスタンスを含むディクショナリを返します。

Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
FindState(PersonalizationScope, PersonalizationStateQuery, Int32, Int32, Int32)

派生クラスでオーバーライドされると、スコープと特定のクエリ パラメーターに基づいて、0 個以上の PersonalizationStateInfo派生オブジェクトを含むコレクションを返します。

GetCountOfState(PersonalizationScope, PersonalizationStateQuery)

派生クラスでオーバーライドされると、指定したスコープ内に存在する基になるデータ ストア内の行数を返します。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
Initialize(String, NameValueCollection)

構成ビルダーを初期化します。

(継承元 ProviderBase)
LoadPersonalizationBlobs(WebPartManager, String, String, Byte[], Byte[])

派生クラスでオーバーライドされると、基になるデータ ストアから生のパーソナル化データを読み込みます。

LoadPersonalizationState(WebPartManager, Boolean)

基になるデータ ストアから生データを読み込み、そのデータを PersonalizationState オブジェクトに変換します。

MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
ResetPersonalizationBlob(WebPartManager, String, String)

派生クラスでオーバーライドされると、基になるデータ ストアから生のパーソナル化データを削除します。

ResetPersonalizationState(WebPartManager)

パーソナル化データを基になるデータ ストアにリセットします。

ResetState(PersonalizationScope, String[], String[])

派生クラスでオーバーライドされると、指定されたパラメーターに基づいて基になるデータ ストアからパーソナル化状態を削除します。

ResetUserState(String, DateTime)

派生クラスでオーバーライドされると、指定したパラメーターに基づいて、基になるデータ ストアから Web パーツのパーソナル化データを削除します。

SavePersonalizationBlob(WebPartManager, String, String, Byte[])

派生クラスでオーバーライドされると、生のパーソナル化データを基になるデータ ストアに保存します。

SavePersonalizationState(PersonalizationState)

パーソナル化データをデータ ストアに保存します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください