PersonalizationProvider クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
パーソナル化プロバイダーの基本的な機能を実装します。
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
- 継承
- 派生
注釈
これは、パーソナル化プロバイダーの必要な機能を定義する抽象基本クラスです。 パーソナル化プロバイダーは、 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) |