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 grundlegenden Funktionen 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. Auf diese Weise kann ein Entwickler einen benutzerdefinierten Anbieter schreiben, um mit einem bestimmten Datenspeicher zu interagieren, ohne die von der WebPartPersonalization Klasse verwendete Standardfunktionalität erneut implementieren zu müssen.
Hinweise für Ausführende
Sie können von den in dieser Klasse definierten abstrakten Methoden abgeleitet PersonalizationProvider und Implementierungen bereitstellen. Die abstrakten Methoden befassen sich speziell mit dem Speichern und Laden von Daten in einen physischen Datenspeicher und mit der Verwaltung von Datenspeichern. Ein benutzerdefinierter Anbieter muss in der Lage sein, Personalisierungsinformationen auf eine Weise zu bearbeiten, die Daten von Shared Daten unterscheidetUser. Darüber hinaus muss ein Anbieter Personalisierungsdaten nach Seite und Anwendung segmentieren.
Implementierungen von PersonalizationProvider sind eng mit Implementierungen verbunden, von PersonalizationState denen einige Personalisierungsanbietermethoden Instanzen von PersonalizationStateabgeleiteten Klassen zurückgeben. Um die Entwicklung von benutzerdefinierten Anbietern zu vereinfachen, enthält die PersonalizationProvider Basisklasse eine Standardimplementierung der Personalisierungslogik und serialisierungs-/Deserialisierungslogik, die direkt von der WebPartPersonalization Klasse verwendet wird. Daher erfordert die Erstellung eines benutzerdefinierten Anbieters ausschließlich zum Zweck der Arbeit 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 mit Personalisierungsdaten in der Datenbank für die angegebenen Abfrageparameter zu zählen.
LoadPersonalizationBlobs(WebPartManager, String, String, Byte[], Byte[]) - Aufgrund des Pfads und des Benutzernamens lädt diese Methode zwei binäre große Objekte (BLOBs) aus der Datenbank: ein BLOB für freigegebene Daten und eine für Benutzerdaten. Wenn Sie den Benutzernamen und 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) – Aufgrund des Pfads und des Benutzernamens löscht diese Methode die entsprechende Zeile in der Datenbank. Wenn Sie den Benutzernamen und 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[]) – Aufgrund des Pfads und des Benutzernamens speichert diese Methode das bereitgestellte BLOB in der Datenbank. Wenn Sie den Benutzernamen und 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, werden in all diesen Methoden die freigegebenen Personalisierungsdaten für die Seite ausgeführt. Wenn sowohl ein Pfad als auch ein Benutzername an eine Methode übergeben werden, sollten die Benutzerpersonalisierungsdaten für die Seite bearbeitet werden. Im Fall von LoadPersonalizationBlobs(WebPartManager, String, String, Byte[], Byte[]), die freigegebenen Daten für den angegebenen Pfad sollte immer geladen werden, und optional sollten die Benutzerpersonalisierungsdaten für den Pfad auch geladen werden, wenn der Benutzername nicht nullist.
Alle anderen abstrakten Methoden sind nur für die Verwendung in administrativen Anwendungen vorgesehen und werden zur Laufzeit nicht von der Webpartinfrastruktur verwendet. Ein Beispiel für eine Implementierung eines Personalisierungsanbieters finden Sie in der SqlPersonalizationProvider Klasse.
Konstruktoren
| Name | Beschreibung |
|---|---|
| PersonalizationProvider() |
Initialisiert eine neue Instanz der PersonalizationProvider-Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| ApplicationName |
Wenn sie in einer abgeleiteten Klasse überschrieben werden, ruft den Namen der anwendung ab, die für den Anbieter konfiguriert ist, oder legt den Namen fest. |
| Description |
Ruft eine kurze, benutzerfreundliche Beschreibung ab, die für die Anzeige in Verwaltungstools oder anderen Benutzeroberflächen (UIs) geeignet ist. (Geerbt von ProviderBase) |
| Name |
Ruft den Anzeigenamen ab, der verwendet wird, um während der Konfiguration auf den Anbieter zu verweisen. (Geerbt von ProviderBase) |
Methoden
| Name | Beschreibung |
|---|---|
| CreateSupportedUserCapabilities() |
Gibt eine Liste von WebPartUserCapability Objekten zurück, die den Satz bekannter Funktionen darstellen, die vom Webpart-Steuerelementsatz verwendet werden. |
| DetermineInitialScope(WebPartManager, PersonalizationState) |
Bestimmt, ob der anfängliche Personalisierungsbereich sein Shared oder User den Bereich haben soll. |
| DetermineUserCapabilities(WebPartManager) |
Gibt ein Wörterbuch zurück, das Instanzen enthält WebPartUserCapability , die die Personalisierungsfunktionen des derzeit ausgeführten Benutzerkontos darstellen. |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| FindState(PersonalizationScope, PersonalizationStateQuery, Int32, Int32, Int32) |
Wenn eine abgeleitete Klasse überschrieben wird, wird eine Auflistung zurückgegeben, die null oder mehr PersonalizationStateInfoabgeleitete Objekte auf der Grundlage des Bereichs und spezifischer Abfrageparameter enthält. |
| GetCountOfState(PersonalizationScope, PersonalizationStateQuery) |
Wenn eine abgeleitete Klasse überschrieben wird, wird die Anzahl der Zeilen im zugrunde liegenden Datenspeicher zurückgegeben, die innerhalb des angegebenen Bereichs vorhanden sind. |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die 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 sie in einer abgeleiteten Klasse überschrieben werden, werden rohe Personalisierungsdaten 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 der aktuellen Object. (Geerbt von Object) |
| ResetPersonalizationBlob(WebPartManager, String, String) |
Wenn sie in einer abgeleiteten Klasse überschrieben werden, werden unformatierte Personalisierungsdaten aus dem zugrunde liegenden Datenspeicher gelöscht. |
| ResetPersonalizationState(WebPartManager) |
Setzt Personalisierungsdaten auf den zugrunde liegenden Datenspeicher zurück. |
| ResetState(PersonalizationScope, String[], String[]) |
Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird der Personalisierungsstatus basierend auf den angegebenen Parametern aus dem zugrunde liegenden Datenspeicher gelöscht. |
| ResetUserState(String, DateTime) |
Wenn sie in einer abgeleiteten Klasse überschrieben werden, werden Webparts-Personalisierungsdaten aus dem zugrunde liegenden Datenspeicher basierend auf den angegebenen Parametern gelöscht. |
| SavePersonalizationBlob(WebPartManager, String, String, Byte[]) |
Wenn sie in einer abgeleiteten Klasse überschrieben werden, werden rohe Personalisierungsdaten im zugrunde liegenden Datenspeicher gespeichert. |
| SavePersonalizationState(PersonalizationState) |
Speichert Personalisierungsdaten in einem Datenspeicher. |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |