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[]) - 指定路徑和使用者名稱時,此方法會從資料庫載入兩個二進位大型物件 (BLOB) :一個 BLOB 用於共享數據,另一個用於用戶數據。 如果您提供使用者名稱和路徑,則不需要 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) |