VENDITE: 1-800-867-1389

Procedura: Configurare un client della cache per il Servizio cache gestita di Azure

Aggiornamento: febbraio 2015

noteNota
Per indicazioni sulla scelta dell'offerta di Cache di Azure più adatta alla propria applicazione, vedere Qual è l'offerta di Cache di Azure più adatta alle mie esigenze?.

Il Servizio cache gestito semplifica la configurazione dei client della cache fornendo un pacchetto NuGet per aggiungere i riferimenti agli assembly e le modifiche alla configurazione necessari. Il pacchetto NuGet di Cache fornisce anche sezioni impostate come commenti nel file web.config per i progetti Web, allo scopo di abilitare il provider di stato della sessione di Cache e quello di cache dell'output delle pagine. Questo argomento fornisce una procedura dettagliata per la configurazione dei client della cache mediante il pacchetto NuGet di Cache.

La configurazione delle applicazioni client del Servizio cache gestito è un'operazione semplice. Il Servizio cache gestito fornisce un pacchetto NuGet per aggiungere la configurazione e i riferimenti agli assembly necessari per consentire ai client della cache di accedere a una cache.

noteNota
Il Servizio cache gestito supporta le applicazioni client Siti Web, Servizi cloud e Macchine virtuali di Azure. I passaggi di configurazione di queste applicazioni client sono molto simili, con alcune differenze di scarso rilievo. Il pacchetto NuGet di Cache fornito gestisce automaticamente la maggior parte di tali differenze, descritte in diversi punti di questo argomento. Per un riepilogo delle differenze, vedere Cache Service Client Application Types.

Se si sta creando un'applicazione di Servizi cloud, scaricare l'ultima versione di Azure SDK, attualmente SDK 2.1. Se si stanno creando applicazioni client di Siti Web o di Macchine virtuali di Azure, il pacchetto NuGet di Cache installa automaticamente tutti gli elementi necessari.

ImportantImportante
La seguente procedura richiede la versione di Gestione pacchetti NuGet più recente (2.6.40627.9000 o successiva). Per installare la versione di Gestione pacchetti NuGet più recente, vedere Gestione pacchetti NuGet.

Per usare il pacchetto NuGet del Servizio cache gestito, fare clic con il pulsante destro del mouse su Esplora soluzioni e scegliere Gestisci pacchetti NuGet.

Selezionare Caching di Azure, fare clic su Installa e quindi su Accetto. Una volta installato il pacchetto nel progetto client, fare clic su Chiudi per chiudere la finestra Gestisci pacchetti NuGet.

noteNota
Se Caching di Azure non è incluso nell'elenco, digitare WindowsAzure.Caching nella casella di testo Cerca Online.

Pacchetto NuGet di Cache di Microsoft Azure

Quando il pacchetto NuGet del Servizio cache gestito è installato in un progetto client, questo aggiunge la configurazione richiesta e i riferimenti agli assembly per consentire all'applicazione client di accedere alla cache.

In web.config o app.config per il progetto client vengono aggiunti diversi elementi.

  1. A configSections vengono aggiunte due sezioni, denominate dataCacheClients e cacheDiagnostics.

    <!-- Non-cache sections omitted for space -->
      <configSections>
        <section name="dataCacheClients" 
            type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core" 
            allowLocation="true" 
            allowDefinition="Everywhere" />
    
        <section name="cacheDiagnostics" 
            type="Microsoft.ApplicationServer.Caching.AzureCommon.DiagnosticsConfigurationSection, Microsoft.ApplicationServer.Caching.AzureCommon" 
            allowLocation="true" 
            allowDefinition="Everywhere" />
      </configSections>
    
  2. Viene aggiunta una sezione dataCacheClients alla sezione configuration.

    <!-- Non-cache sections omitted for space -->
      <dataCacheClients>
        <dataCacheClient name="default">
          <!--To use the in-role flavor of Azure Caching, set identifier to be the cache cluster role name -->
          <!--To use the Azure Caching Service, set identifier to be the endpoint of the cache cluster -->
          <autoDiscover
            isEnabled="true" 
            identifier="[Cache role name or Service Endpoint]" />
          <!--<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />-->
          <!--Use this section to specify security settings for connecting to your cache. 
              This section is not required if your cache is hosted on a role that is a part 
              of your cloud service. -->
          <!--<securityProperties mode="Message" sslEnabled="false">
            <messageSecurity authorizationInfo="[Authentication Key]" />
          </securityProperties>-->
        </dataCacheClient>
      </dataCacheClients>
    
    Sostituire [Cache role name or Service Endpoint] con l'URL dell'endpoint visualizzato nel dashboard della cache nel portale di gestione.

    URL di endpoint per il Servizio cache di Microsoft Azure
    In questo esempio la cache è denominata applicationcache e l'URL dell'endpoint è applicationcache.cache.windows.net.

    <autoDiscover isEnabled="true" identifier="applicationcache.cache.windows.net" />
    
    Rimuovere il commento dalla sezione securityProperties e sostituire [Authentication Key] con la chiave di autenticazione.

    <!--Use this section to specify security settings for connecting to your cache. 
        This section is not required if your cache is hosted on a role that is a part 
        of your cloud service. -->
    <!--<securityProperties mode="Message" sslEnabled="false">
      <messageSecurity authorizationInfo="[Authentication Key]" />
    </securityProperties>-->
    
    
    La chiave di autenticazione è disponibile nel portale di gestione facendo clic su Chiavi di accesso dal dashboard della cache.

    Gestione delle chiavi di accesso per il Servizio cache di Microsoft Azure
    WarningAvviso
    Questa impostazione deve essere configurata in modo corretto, altrimenti i client non saranno in grado di accedere alla cache.

Per i progetti di Servizi cloud, il pacchetto NuGet del Servizio cache gestito aggiunge anche un'impostazione ClientDiagnosticLevel a ConfigurationSettings del ruolo del client della cache nel file ServiceConfiguration.cscfg. Il seguente esempio mostra la sezione WebRole1 del file ServiceConfiguration.cscfg con ClientDiagnosticLevel impostato su 1, ossia il valore predefinito di ClientDiagnosticLevel.

<Role name="WebRole1">
  <Instances count="1" />
  <ConfigurationSettings>
    <!-- Other settings omitted for space... -->
    <Setting name="Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel" value="1" />
  </ConfigurationSettings>
</Role>
noteNota
Per altre informazioni sui livelli di diagnostica della cache, vedere Informazioni su ClientDiagnosticLevel per il Servizio cache gestita di Azure.

Oltre ad aggiungere la configurazione richiesta, il pacchetto NuGet del Servizio cache gestito aggiunge anche i riferimenti ai seguenti assembly.

  • Microsoft.ApplicationServer.Caching.Client.dll

  • Microsoft.ApplicationServer.Caching.Core.dll

  • Microsoft.ApplicationServer.Caching.AzureCommon.dll

  • Microsoft.ApplicationServer.Caching.AzureClientHelper.dll

  • Microsoft.WindowsFabric.Common.dll

  • Microsoft.WindowsFabric.Data.Common.dll

Se il progetto è un progetto Web, viene aggiunto anche il riferimento al seguente assembly.

  • Microsoft.Web.DistributedCache.dll

Il provider di stato della sessione di Cache di Microsoft Azure è un meccanismo di memorizzazione out-of-process specifico per le applicazioni ASP.NET. Questo provider consente di memorizzare lo stato della sessione in una cache anziché in memoria o in un database di SQL Server. Quando si usa il pacchetto NuGet di Cache per abilitare la memorizzazione nella cache, viene aggiunta una sezione impostata come commento per abilitare il provider di stato della sessione.

  1. Configurare innanzitutto una cache da usare con il provider ASP.NET, come descritto nella precedente sezione Configurare un client della cache mediante il pacchetto NuGet di Caching.

  2. 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.

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

    <!-- 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>-->
    
    

Il seguente elenco include le modifiche facoltative della configurazione che influiscono sul provider di stato della sessione.

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

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

  • Modifica del comportamento del client della cache usando le impostazioni nella sezione dataCacheClient associata. È ad esempio possibile abilitare la compressione usando l'attributo isCompressionEnabled.

    <dataCacheClient name="default" isCompressionEnabled="true">
      <!-- Other cache settings omitted -->
    </dataCacheClient>
    
    Per un elenco delle opzioni di configurazione disponibili, vedere Impostazioni di configurazione del client della cache per il Servizio cache gestito di Azure. Tenere presente che i provider ASP.NET per memorizzazione nella cache non supportano i tipi con serializzazione personalizzata o binaria. Se questi serializzatori vengono usati per lo stato della sessione, si verifica la seguente eccezione: "Il 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 del provider di stato della sessione. Per un elenco delle opzioni di configurazione disponibili, vedere Impostazioni di configurazione del provider di stato della sessione di ASP.NET per il Servizio cache gestita di Azure.

Il provider di cache di output di Cache di Microsoft Azure è un meccanismo di memorizzazione out-of-process per i dati della cache di output. Questi dati sono specificamente usati per le risposte HTTP complete (memorizzazione nella cache di output delle pagine). Il provider si collega al nuovo punto di estendibilità del provider di cache di output introdotto in ASP.NET 4. Quando si usa il pacchetto NuGet di Caching per abilitare la memorizzazione nella cache, viene aggiunta una sezione impostata come commento per abilitare il provider di output delle pagine di Cache.

  1. Configurare innanzitutto una cache da usare con il provider ASP.NET, come descritto nella precedente sezione Configurare un client della cache mediante il pacchetto NuGet di Caching.

  2. Usare NuGet per aggiungere il supporto di memorizzazione nella cache al progetto ASP.NET in Visual Studio.

    ImportantImportante
    La seguente procedura richiede la versione di Gestione pacchetti NuGet più recente (2.6.40627.9000 o successiva). Per installare la versione di Gestione pacchetti NuGet più recente, vedere Gestione pacchetti NuGet.

  3. Rimuovere eventuali elementi caching esistenti che configurano la memorizzazione nella cache di output. Non rimuovere la sezione con commenti caching aggiunta dal pacchetto NuGet.

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

        <!-- Azure Caching output caching provider -->
        <!--Uncomment this section to use Azure Caching for output caching-->
        <!--<caching>
          <outputCache defaultProvider="AFCacheOutputCacheProvider">
            <providers>
              <add name="AFCacheOutputCacheProvider" 
                type="Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache"
                cacheName="default"
                dataCacheClientName="default"
                applicationName="AFCacheOutputCache" />
            </providers>
          </outputCache>
        </caching>-->
    

Il seguente elenco 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 delle impostazioni del client della cache usando l'attributo dataCacheClientName dell'elemento add. Impostare questo attributo sul nome di una sezione dataCacheClient esistente nel file web.config.

  • Modifica del comportamento del client della cache usando le impostazioni nella sezione dataCacheClient associata. È ad esempio possibile abilitare la compressione usando l'attributo isCompressionEnabled.

    <dataCacheClient name="default" isCompressionEnabled="true">
    
    Per un elenco delle opzioni di configurazione disponibili, vedere Impostazioni di configurazione del client della cache per il Servizio cache gestito di Azure. Tenere presente che i provider ASP.NET per memorizzazione nella cache non supportano i tipi con serializzazione personalizzata o binaria.

  • Modifica delle impostazioni del provider di cache di output. Per un elenco delle opzioni di configurazione disponibili, vedere Impostazioni di configurazione del provider di cache di output delle pagine ASP.NET per il Servizio cache gestito di Azure.

Il documento è risultato utile?
(1500 caratteri rimanenti)
Grazie per i commenti inviati.
Mostra:
© 2015 Microsoft