Esporta (0) Stampa
Espandi tutto
Questo argomento non è stato ancora valutato - Valuta questo argomento

Provider di stato della sessione per Cache di Windows Azure

Aggiornamento: novembre 2012

Il provider di stato della sessione di Windows Azure è un meccanismo di memorizzazione out-of-process specifico per le applicazioni ASP.NET. Tale provider consente di memorizzare lo stato della sessione in una cache di Windows Azure anziché in memoria o in un database di SQL Server.

Per un esempio di memorizzazione nella cache dello stato della sessione, vedere Esempio di memorizzazione nella cache dello stato della sessione e dell'output in Caching.

Funzionalità

Rispetto ai precedenti provider di stato della sessione ASP.NET, il provider di stato della sessione di Windows Azure presenta i seguenti miglioramenti:

  • Utilizzo interno della classe NetDataContractSerializer per la serializzazione dello stato della sessione

  • Capacità di condivisione dello stato della sessione tra diverse applicazioni ASP.NET

  • Supporto dell'accesso simultaneo di più lettori e un unico scrittore allo stesso set di stato della sessione

  • Possono utilizzare la compressione nelle proprietà del client della cache.

L'utilizzo della classe NetDataContractSerializer per la serializzazione consente di supportare una gamma più ampia di tipi serializzabili, inclusi i tipi binari.

Il provider consente ad applicazioni ASP.NET diverse di leggere e scrivere gli stessi dati di stato della sessione. Se ad esempio sono stati sviluppati due diversi siti ASP.NET, /contoso e /adventureworks, è possibile configurare il provider di stato della sessione di ciascuna applicazione Web in modo che punti allo stesso archivio dello stato della sessione nel cluster di cache. Di conseguenza, entrambe le applicazioni saranno in grado di leggere e scrivere gli stessi dati per qualsiasi identificatore di sessione.

Il provider di stato della sessione supporta l'accesso simultaneo di più lettori e un unico scrittore allo stesso set di stato della sessione. In questo caso, i lettori sono definiti come pagine contrassegnate per l'utilizzo dello stato della sessione ReadOnly. Se la maggior parte dei modelli di accesso allo stato della sessione delle applicazioni richiedono l'accesso in sola lettura, nelle applicazioni che utilizzano ampiamente i callback AJAX non si verificheranno code di richieste sul lato server.

Per aggiungere il provider dello stato della sessione a un progetto ASP.NET

  1. Configurare prima una cache da utilizzare con il provider ASP.NET. È possibile ospitare Cache con una topologia basata su risorse condivise o con un ruolo dedicato.

  2. Utilizzare NuGet per aggiungere il supporto di Cache al proprio progetto ASP.NET in Visual Studio. Per istruzioni, vedere Procedura: Preparare Visual Studio per l'uilizzo di In-Role Cache (Cache di Windows Azure).

    ImportantImportante
    La procedura seguente richiede la versione di Gestione pacchetti NuGet più recente (2.1.31002.9028 o successiva). Per installare la versione di Gestione pacchetti NuGet più recente, accedere alla pagina http://go.microsoft.com/fwlink/?LinkId=240311.

  3. Rimuovere eventuali elementi sessionState esistenti che configurano la memorizzazione nella cache dello stato della sessione. Non rimuovere la sezione con commenti sessionState aggiunta dal pacchetto NuGet.

  4. Nel file web.config file rimuovere i commenti dalla sezione sessionState.

        <!-- Windows Azure Caching session state provider -->
        <sessionState mode="Custom" customProvider="AFCacheSessionStateProvider">
          <providers>
            <add name="AFCacheSessionStateProvider" 
              type="Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProvider, Microsoft.Web.DistributedCache"
              cacheName="default" 
              dataCacheClientName="default" 
              applicationName="AFCacheSessionState"/>
          </providers>
        </sessionState>
    

L'elenco seguente include le modifiche facoltative della configurazione che influiscono sul provider della cache di output.

  • Modifica della cache denominata individuata con l'attributo cacheName dell'elemento add.

  • Modifica dell'origine dell'origine delle impostazioni del client della cache con l'attributo dataCacheClientName dell'elemento add. Impostazione, ad esempio, di questo attributo sul nome di una sezione dataCacheClient esistente nel file web.config.

  • Modifica del comportamento del client della cache cambiando le impostazioni nella sezione dataCacheClient associata. Abilitazione, ad esempio, della compressione con l'attributo isCompressionEnabled.

    <dataCacheClient name="default" isCompressionEnabled="true">
    
    Per un elenco delle opzioni di configurazione disponibili, vedere Impostazioni di configurazione del client In-Role Cache (Web.config). Tenere presente che i provider ASP.NET per Cache non supportano i tipi con serializzazione personalizzata o binaria. Se tali serializzatori vengono utilizzati per lo stato della sessione, si verifica l'eccezione seguente: "Tipo 'Microsoft.Web.DistributedCache.SerializableSessionStateStoreData' nell'assembly 'Microsoft.Web.DistributedCache, Version=101.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' non contrassegnato come serializzabile"

  • Modifica delle impostazioni per il provider di stato della sessione. Per un elenco delle opzioni di configurazione disponibili, vedere Impostazioni di configurazione per il provider di stato della sessione ASP.NET (Cache di Windows Azure).

Per utilizzare il provider con Shared Caching, vedere Procedura: configurare il provider di stato della sessione ASP.NET (Windows Azure Shared Caching).

In questa sezione

Vedere anche

Il documento è risultato utile?
(1500 caratteri rimanenti)
Grazie per i commenti inviati.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft. Tutti i diritti riservati.