Questa documentazione è stata archiviata e non viene gestita.

Classe PersonalizationProvider

Aggiornamento: novembre 2007

Implementa la funzionalità di base per un provider di personalizzazioni.

Spazio dei nomi:  System.Web.UI.WebControls.WebParts
Assembly:  System.Web (in System.Web.dll)

[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public abstract class PersonalizationProvider : ProviderBase
/** @attribute AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal) */
/** @attribute AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal) */
public abstract class PersonalizationProvider extends ProviderBase
public abstract class PersonalizationProvider extends ProviderBase

Si tratta della classe base astratta che definisce la funzionalità richiesta di un provider di personalizzazioni. Un provider di personalizzazioni carica e archivia dati sulla personalizzazione per conto di un'istanza dell'oggetto WebPartPersonalization.

La classe base definisce il comportamento standard per una serie di metodi. Vengono contrassegnati come astratti solo quelli che riguardano in modo specifico l'archivio dati. In questo modo uno sviluppatore può scrivere un provider personalizzato per interagire con un archivio dati specifico senza reimplementare la funzionalità standard utilizzata dalla classe WebPartPersonalization.

Note per gli eredi:

è possibile derivare dalla classe PersonalizationProvider e fornire implementazioni solo per i metodi astratti definiti in questa classe. I metodi astratti riguardano in modo specifico il salvataggio e il caricamento di dati in un archivio dati fisico, nonché l'amministrazione dell'archivio dati. Un provider personalizzato deve essere in grado di modificare le informazioni sulla personalizzazione in modo da distinguere i dati del campo Shared da quelli del campo User. Un provider deve inoltre segmentare i dati sulla personalizzazione in base alla pagina, nonché all'applicazione.

Le implementazioni di PersonalizationProvider sono strettamente collegate alle implementazioni di PersonalizationState perché alcuni metodi dei provider di personalizzazioni restituiscono istanze di classi derivate da PersonalizationState. Per semplificare lo sviluppo di provider personalizzati, la classe base PersonalizationProvider include un'implementazione predefinita della logica di personalizzazione e della logica di serializzazione/deserializzazione utilizzata direttamente dalla classe WebPartPersonalization. Di conseguenza, per modificare un provider personalizzato al solo scopo di utilizzare un archivio dati diverso è richiesta unicamente l'implementazione dei seguenti metodi astratti:

  • GetCountOfState - Questo metodo deve essere in grado di conteggiare il numero di righe dei dati sulla personalizzazione nel database per i parametri di query forniti.

  • LoadPersonalizationBlobs - Dati il percorso e il nome utente, questo metodo carica due oggetti binari di grandi dimensioni (BLOB) dal database, uno per i dati condivisi e l'altro per i dati utente. Se si forniscono nome utente e percorso, non è necessario includere il controllo WebPartManager per accedere alle informazioni sulla pagina in grado di fornire le informazioni relative a nome utente/percorso.

  • ResetPersonalizationBlob - Dati il percorso e il nome utente, questo metodo elimina la riga corrispondente nel database. Se si forniscono nome utente e percorso, non è necessario includere il controllo WebPartManager per accedere alle informazioni sulla pagina in grado di fornire le informazioni relative a nome utente/percorso.

  • SavePersonalizationBlob - Dati il percorso e il nome utente, questo metodo salva il BLOB fornito nel database. Se si forniscono nome utente e percorso, non è necessario includere il controllo WebPartManager per accedere alle informazioni sulla pagina in grado di fornire le informazioni relative a nome utente/percorso.

Se in tutti questi metodi si fornisce solo un percorso, si interverrà sui dati condivisi sulla personalizzazione per la pagina. Se a un metodo vengono passati un percorso e un nome utente, sarà necessario intervenire sui dati sulla personalizzazione utente per la pagina. Nel caso del metodo LoadPersonalizationBlobs i dati condivisi per il percorso specificato devono essere sempre caricati; è inoltre necessario caricare anche i dati sulla personalizzazione utente se il nome utente è diverso da null.

Tutti gli altri metodi astratti sono destinati a essere utilizzati solo in applicazioni amministrative e non in un'infrastruttura Web part in fase di esecuzione. Per un esempio di implementazione di un provider di personalizzazioni, vedere la classe SqlPersonalizationProvider.

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition , Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

.NET Framework

Supportato in: 3.5, 3.0, 2.0
Mostra: