PersonalizationProvider Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Implementuje podstawowe funkcje dostawcy personalizacji.
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
- Dziedziczenie
- Pochodne
Uwagi
Jest to abstrakcyjna klasa bazowa, która definiuje wymagane funkcje dostawcy personalizacji. Dostawca personalizacji ładuje i przechowuje dane personalizacji w imieniu WebPartPersonalization wystąpienia.
Klasa bazowa definiuje standardowe zachowanie dla wielu metod; tylko te metody, które dotyczą konkretnie bazowego magazynu danych, są oznaczone jako abstrakcyjne. Dzięki temu deweloper może napisać dostawcę niestandardowego do interakcji z określonym magazynem danych bez konieczności ponownego implementowania standardowych funkcji używanych przez klasę WebPartPersonalization .
Uwagi dotyczące implementowania
Można pochodzić z PersonalizationProvider metod abstrakcyjnych zdefiniowanych w tej klasie i dostarczać ich implementacje. Metody abstrakcyjne dotyczą konkretnie zapisywania i ładowania danych do fizycznego magazynu danych oraz administracji magazynem danych. Dostawca niestandardowy musi mieć możliwość manipulowania informacjami o personalizacji w sposób, który odróżnia Shared dane od User danych. Ponadto dostawca musi segmentować dane personalizacji według strony, a także według aplikacji.
Implementacje programu PersonalizationProvider są ściśle powiązane z implementacjami, PersonalizationState ponieważ niektóre metody dostawcy personalizacji zwracają wystąpienia klas pochodnych PersonalizationState. Aby ułatwić opracowywanie niestandardowych dostawców, PersonalizationProvider klasa bazowa zawiera domyślną implementację logiki personalizacji i logiki serializacji/deserializacji, która jest używana bezpośrednio przez klasę WebPartPersonalization . W związku z tym tworzenie dostawcy niestandardowego wyłącznie w celu pracy z innym magazynem danych wymaga implementacji następujących abstrakcyjnych metod:
GetCountOfState(PersonalizationScope, PersonalizationStateQuery) — Ta metoda musi mieć możliwość zliczenia liczby wierszy danych personalizacji w bazie danych dla podanych parametrów zapytania.
LoadPersonalizationBlobs(WebPartManager, String, String, Byte[], Byte[]) — Biorąc pod uwagę ścieżkę i nazwę użytkownika, ta metoda ładuje dwa binarne duże obiekty (BLOB) z bazy danych: jeden obiekt BLOB dla danych udostępnionych i jeden dla danych użytkownika. Jeśli podasz nazwę użytkownika i ścieżkę, nie potrzebujesz WebPartManager kontroli dostępu do informacji o stronie, które mogą podać informacje o nazwie użytkownika/ścieżce.
ResetPersonalizationBlob(WebPartManager, String, String) — Biorąc pod uwagę ścieżkę i nazwę użytkownika, ta metoda usuwa odpowiedni wiersz w bazie danych. Jeśli podasz nazwę użytkownika i ścieżkę, nie potrzebujesz WebPartManager kontroli dostępu do informacji o stronie, które mogą podać informacje o nazwie użytkownika/ścieżce.
SavePersonalizationBlob(WebPartManager, String, String, Byte[]) — Biorąc pod uwagę ścieżkę i nazwę użytkownika, ta metoda zapisuje podany obiekt BLOB w bazie danych. Jeśli podasz nazwę użytkownika i ścieżkę, nie potrzebujesz WebPartManager kontroli dostępu do informacji o stronie, które mogą podać informacje o nazwie użytkownika/ścieżce.
We wszystkich tych metodach, jeśli podano tylko ścieżkę, oznacza to, że współużytkowane dane personalizacji dla strony są obsługiwane. Jeśli zarówno ścieżka, jak i nazwa użytkownika są przekazywane do metody, dane personalizacji użytkownika dla strony powinny być przekazywane. W przypadku programu LoadPersonalizationBlobs(WebPartManager, String, String, Byte[], Byte[])dane udostępnione dla określonej ścieżki powinny być zawsze ładowane, a opcjonalnie dane personalizacji użytkownika dla ścieżki powinny być również ładowane, jeśli nazwa użytkownika nie null
jest nazwą użytkownika .
Wszystkie inne metody abstrakcyjne są przeznaczone tylko do użytku w aplikacjach administracyjnych i nie są używane przez infrastrukturę składników Web Part w czasie wykonywania. Aby zapoznać się z przykładem implementacji dostawcy personalizacji, zobacz klasę SqlPersonalizationProvider .
Konstruktory
PersonalizationProvider() |
Inicjuje nowe wystąpienie klasy PersonalizationProvider. |
Właściwości
ApplicationName |
Po zastąpieniu w klasie pochodnej pobiera lub ustawia nazwę aplikacji skonfigurowanej dla dostawcy. |
Description |
Pobiera krótki, przyjazny opis odpowiedni do wyświetlania w narzędziach administracyjnych lub innych interfejsach użytkownika (UI). (Odziedziczone po ProviderBase) |
Name |
Pobiera przyjazną nazwę używaną do odwoływania się do dostawcy podczas konfiguracji. (Odziedziczone po ProviderBase) |
Metody
CreateSupportedUserCapabilities() |
Zwraca listę WebPartUserCapability obiektów reprezentujących zestaw znanych możliwości używanych przez zestaw kontrolek składników Web Part. |
DetermineInitialScope(WebPartManager, PersonalizationState) |
Określa, czy początkowy zakres personalizacji powinien być Shared zakresem, czy User zakresem. |
DetermineUserCapabilities(WebPartManager) |
Zwraca słownik zawierający WebPartUserCapability wystąpienia reprezentujące możliwości związane z personalizacją aktualnie wykonywanego konta użytkownika. |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
FindState(PersonalizationScope, PersonalizationStateQuery, Int32, Int32, Int32) |
Po zastąpieniu w klasie pochodnej zwraca kolekcję zawierającą zero lub więcej PersonalizationStateInfoobiektów pochodnych na podstawie zakresu i określonych parametrów zapytania. |
GetCountOfState(PersonalizationScope, PersonalizationStateQuery) |
Po zastąpieniu w klasie pochodnej zwraca liczbę wierszy w bazowym magazynie danych, które istnieją w określonym zakresie. |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
Initialize(String, NameValueCollection) |
Inicjuje konstruktora konfiguracji. (Odziedziczone po ProviderBase) |
LoadPersonalizationBlobs(WebPartManager, String, String, Byte[], Byte[]) |
Po zastąpieniu w klasie pochodnej ładuje nieprzetworzone dane personalizacji z bazowego magazynu danych. |
LoadPersonalizationState(WebPartManager, Boolean) |
Ładuje nieprzetworzone dane z bazowego magazynu danych i konwertuje te dane na PersonalizationState obiekt. |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ResetPersonalizationBlob(WebPartManager, String, String) |
Po zastąpieniu w klasie pochodnej usuwa nieprzetworzone dane personalizacji z bazowego magazynu danych. |
ResetPersonalizationState(WebPartManager) |
Resetuje dane personalizacji do bazowego magazynu danych. |
ResetState(PersonalizationScope, String[], String[]) |
Po zastąpieniu w klasie pochodnej program usuwa stan personalizacji z bazowego magazynu danych na podstawie określonych parametrów. |
ResetUserState(String, DateTime) |
Po zastąpieniu w klasie pochodnej program usuwa dane personalizacji składników Web Part z bazowego magazynu danych na podstawie określonych parametrów. |
SavePersonalizationBlob(WebPartManager, String, String, Byte[]) |
Po przesłonięciu w klasie pochodnej dane pierwotne personalizacji są zapisywane w bazowym magazynie danych. |
SavePersonalizationState(PersonalizationState) |
Zapisuje dane personalizacji w magazynie danych. |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |