PersonalizationProvider Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Implementiert die Basisfunktionalität für einen Personalisierungsanbieter.
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
- Vererbung
- Abgeleitet
Hinweise
Dies ist die abstrakte Basisklasse, die die erforderliche Funktionalität eines Personalisierungsanbieters definiert. Ein Personalisierungsanbieter lädt und speichert Personalisierungsdaten im Auftrag einer WebPartPersonalization Instanz.
Die Basisklasse definiert das Standardverhalten für eine Reihe von Methoden. nur die Methoden, die sich speziell mit dem zugrunde liegenden Datenspeicher befassen, sind als abstrakt gekennzeichnet. Dadurch kann ein Entwickler einen benutzerdefinierten Anbieter schreiben, um mit einem bestimmten Datenspeicher zu interagieren, ohne die von der WebPartPersonalization -Klasse verwendete Standardfunktionalität neu implementieren zu müssen.
Hinweise für Ausführende
Sie können nur die in dieser Klasse definierten abstrakten Methoden ableiten PersonalizationProvider und Implementierungen bereitstellen. Die abstrakten Methoden befassen sich speziell mit dem Speichern und Laden von Daten in einem physischen Datenspeicher sowie mit der Datenspeicherverwaltung. Ein benutzerdefinierter Anbieter muss in der Lage sein, Personalisierungsinformationen so zu bearbeiten, dass Daten von User Daten unterschieden Shared werden. Darüber hinaus muss ein Anbieter Personalisierungsdaten sowohl nach Seite als auch nach Anwendung segmentieren.
Implementierungen von PersonalizationProvider sind eng an Implementierungen von PersonalizationState gekoppelt, da einige Personalisierungsanbietermethoden Instanzen von PersonalizationStateabgeleiteten Klassen zurückgeben. Um die Entwicklung benutzerdefinierter Anbieter zu vereinfachen, enthält die PersonalizationProvider Basisklasse eine Standardimplementierung der Personalisierungslogik und der Serialisierungs-/Deserialisierungslogik, die direkt von der WebPartPersonalization -Klasse verwendet wird. Daher erfordert die Erstellung eines benutzerdefinierten Anbieters ausschließlich zum Arbeiten mit einem anderen Datenspeicher nur die Implementierung der folgenden abstrakten Methoden:
GetCountOfState(PersonalizationScope, PersonalizationStateQuery) – Diese Methode muss in der Lage sein, die Anzahl der Zeilen von Personalisierungsdaten in der Datenbank für die angegebenen Abfrageparameter zu zählen.
LoadPersonalizationBlobs(WebPartManager, String, String, Byte[], Byte[]) – Angesichts des Pfads und des Benutzernamens lädt diese Methode zwei binäre große Objekte (Binary Large Objects, BLOBs) aus der Datenbank: ein BLOB für freigegebene Daten und eins für Benutzerdaten. Wenn Sie den Benutzernamen und den Pfad angeben, benötigen Sie das WebPartManager Steuerelement nicht, um auf die Seiteninformationen zuzugreifen, die den Benutzernamen/Pfad angeben können.
ResetPersonalizationBlob(WebPartManager, String, String) – Bei Angabe des Pfads und des Benutzernamens löscht diese Methode die entsprechende Zeile in der Datenbank. Wenn Sie den Benutzernamen und den Pfad angeben, benötigen Sie das WebPartManager Steuerelement nicht, um auf die Seiteninformationen zuzugreifen, die den Benutzernamen/Pfad angeben können.
SavePersonalizationBlob(WebPartManager, String, String, Byte[]) – Bei Angabe des Pfads und des Benutzernamens speichert diese Methode das angegebene BLOB in der Datenbank. Wenn Sie den Benutzernamen und den Pfad angeben, benötigen Sie das WebPartManager Steuerelement nicht, um auf die Seiteninformationen zuzugreifen, die den Benutzernamen/Pfad angeben können.
Wenn nur ein Pfad angegeben wird, wird in allen diesen Methoden angegeben, dass die freigegebenen Personalisierungsdaten für die Seite ausgeführt werden. Wenn sowohl ein Pfad als auch ein Benutzername an eine Methode übergeben werden, sollte auf die Benutzerpersonalisierungsdaten für die Seite reagiert werden. Im Fall von LoadPersonalizationBlobs(WebPartManager, String, String, Byte[], Byte[])sollten die freigegebenen Daten für den angegebenen Pfad immer geladen werden, und optional sollten auch die Benutzerpersonalisierungsdaten für den Pfad geladen werden, wenn der Benutzername nicht null
ist.
Alle anderen abstrakten Methoden sind nur für die Verwendung in administrativen Anwendungen vorgesehen und werden zur Laufzeit nicht von der Webparts-Infrastruktur verwendet. Ein Beispiel für eine Implementierung eines Personalisierungsanbieters finden Sie in der SqlPersonalizationProvider -Klasse.
Konstruktoren
PersonalizationProvider() |
Initialisiert eine neue Instanz der PersonalizationProvider-Klasse. |
Eigenschaften
ApplicationName |
Ruft den Namen der für den Anbieter konfigurierten Anwendung ab bzw. legt ihn fest, wenn der Name in einer abgeleiteten Klasse überschrieben wird. |
Description |
Ruft eine kurze, benutzerfreundliche Beschreibung ab, die für die Anzeige in Verwaltungstools oder anderen Benutzeroberflächen geeignet ist. (Geerbt von ProviderBase) |
Name |
Ruft den Anzeigennamen ab, der verwendet wird, um während der Konfiguration auf den Anbieter zu verweisen. (Geerbt von ProviderBase) |
Methoden
CreateSupportedUserCapabilities() |
Gibt eine Liste von WebPartUserCapability-Objekten zurück, die die vom Webparts-Steuerelementsatz verwendeten bekannten Funktionen darstellen. |
DetermineInitialScope(WebPartManager, PersonalizationState) |
Bestimmt, ob der ursprüngliche Personalisierungsbereich der Shared-Bereich oder der User-Bereich sein soll. |
DetermineUserCapabilities(WebPartManager) |
Gibt ein Wörterbuch mit WebPartUserCapability-Instanzen zurück, die die personalisierungsbezogenen Funktionen des aktuell ausgeführten Benutzerkontos darstellen. |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
FindState(PersonalizationScope, PersonalizationStateQuery, Int32, Int32, Int32) |
Wenn in einer abgeleiteten Klasse überschrieben, wird basierend auf dem angegebenen Bereich und den angegebenen Parametern eine Auflistung mit 0 oder mehr von PersonalizationStateInfo abgeleiteten Objekten zurückgegeben. |
GetCountOfState(PersonalizationScope, PersonalizationStateQuery) |
Wenn in einer abgeleiteten Klasse überschrieben, wird die Anzahl der Zeilen im zugrunde liegenden Datenspeicher zurückgegeben, die innerhalb des angegebenen Bereichs vorhanden sind. |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
Initialize(String, NameValueCollection) |
Initialisiert den Konfigurations-Generator. (Geerbt von ProviderBase) |
LoadPersonalizationBlobs(WebPartManager, String, String, Byte[], Byte[]) |
Wenn in einer abgeleiteten Klasse überschrieben, werden Personalisierungsrohdaten aus dem zugrunde liegenden Datenspeicher geladen. |
LoadPersonalizationState(WebPartManager, Boolean) |
Lädt die Rohdaten aus dem zugrunde liegenden Datenspeicher und konvertiert diese Daten in ein PersonalizationState-Objekt. |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ResetPersonalizationBlob(WebPartManager, String, String) |
Wenn in einer abgeleiteten Klasse überschrieben, werden Personalisierungsrohdaten aus dem zugrunde liegenden Datenspeicher gelöscht. |
ResetPersonalizationState(WebPartManager) |
Setzt Personalisierungsdaten auf den zugrunde liegenden Datenspeicher zurück. |
ResetState(PersonalizationScope, String[], String[]) |
Wenn in einer abgeleiteten Klasse überschrieben, wird der Personalisierungszustand aus dem zugrunde liegenden Datenspeicher basierend auf den festgelegten Parametern gelöscht. |
ResetUserState(String, DateTime) |
Wenn in einer abgeleiteten Klasse überschrieben, werden Webparts-Personalisierungsdaten im zugrunde liegenden Datenspeicher basierend auf den festgelegten Parametern gelöscht. |
SavePersonalizationBlob(WebPartManager, String, String, Byte[]) |
Wenn in einer abgeleiteten Klasse überschrieben, werden Personalisierungsrohdaten im zugrunde liegenden Datenspeicher gespeichert. |
SavePersonalizationState(PersonalizationState) |
Speichert Personalisierungsdaten in einen Datenspeicher. |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |