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

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

  • SavePersonalizationBlob(WebPartManager, String, String, Byte[]) — При указании пути и имени пользователя этот метод сохраняет предоставленный большой двоичный объект в базе данных. Если указать имя пользователя и путь, то 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)

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

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