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
- Наследование
- Производный
Комментарии
Это абстрактный базовый класс, который определяет требуемые функциональные возможности поставщика персонализации. Поставщик персонализации загружает и сохраняет данные персонализации от имени 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) |