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) |