Поделиться через


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[]) — Учитывая путь и имя пользователя, этот метод загружает два больших двоичных объекта (BLOB) из базы данных: один BLOB для общих данных и один для пользовательских данных. Если указать имя пользователя и путь, вам не нужен WebPartManager элемент управления для доступа к сведениям о странице, которые могут предоставить сведения об имени пользователя или пути.

  • ResetPersonalizationBlob(WebPartManager, String, String) — Учитывая путь и имя пользователя, этот метод удаляет соответствующую строку в базе данных. Если указать имя пользователя и путь, вам не нужен WebPartManager элемент управления для доступа к сведениям о странице, которые могут предоставить сведения об имени пользователя или пути.

  • SavePersonalizationBlob(WebPartManager, String, String, Byte[]) — Учитывая путь и имя пользователя, этот метод сохраняет предоставленный BLOB-объект в базе данных. Если указать имя пользователя и путь, вам не нужен WebPartManager элемент управления для доступа к сведениям о странице, которые могут предоставить сведения об имени пользователя или пути.

Во всех этих методах, если указан только путь, который указывает на общие данные персонализации для страницы, с которой выполняется работа. Если методу передаются как путь, так и имя пользователя, необходимо выполнить действия с данными персонализации пользователя для страницы. В случае , общие данные для указанного LoadPersonalizationBlobs(WebPartManager, String, String, Byte[], Byte[])пути всегда должны загружаться, и при необходимости данные персонализации пользователя для пути также должны быть загружены, если имя пользователя не nullравно .

Все остальные абстрактные методы предназначены для использования только в административных приложениях и не используются инфраструктурой веб-частей во время выполнения. Пример реализации поставщика персонализации см. в SqlPersonalizationProvider классе .

Конструкторы

PersonalizationProvider()

Инициализирует новый экземпляр класса PersonalizationProvider.

Свойства

ApplicationName

При переопределении в производном классе получает или задает имя приложения, настроенного для поставщика.

Description

Возвращает краткое, понятное описание, подходящее для отображения в инструментах администрирования или других пользовательских интерфейсах (UI).

(Унаследовано от ProviderBase)
Name

Возвращает понятное имя, используемое для ссылки на поставщика во время конфигурирования.

(Унаследовано от ProviderBase)

Методы

CreateSupportedUserCapabilities()

Возвращает список объектов WebPartUserCapability, представляющих набор известных возможностей, используемых набором элементов управления веб-частей.

DetermineInitialScope(WebPartManager, PersonalizationState)

Определяет исходную область персонализации — Shared или User.

DetermineUserCapabilities(WebPartManager)

Возвращает словарь, содержащий экземпляры WebPartUserCapability, которые представляют возможности учетной записи текущего пользователя, относящиеся к персонализации.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
FindState(PersonalizationScope, PersonalizationStateQuery, Int32, Int32, Int32)

При переопределении в производном классе возвращает коллекцию, содержащую объекты, производные от 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)

При переопределении в производном классе удаляет данные персонализации веб-частей из базового хранилища данных в зависимости от указанных параметров.

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

При переопределении в производном классе сохраняет необработанные данные персонализации в базовое хранилище данных.

SavePersonalizationState(PersonalizationState)

Сохраняет данные персонализации в хранилище данных.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к

См. также раздел