Procedura: configurare il provider di cache di output di AppFabric per ASP.NET (Memorizzazione nella cache di AppFabric 1.1)

In questo argomento viene illustrato come configurare un'applicazione Web ASP.NET per l'utilizzo di una cache di AppFabric con provisioning in cui memorizzare l'output. La configurazione viene effettuata modificando il file web.config per l'applicazione Web di destinazione.

Utilizzo di Memorizzazione nella cache di Microsoft AppFabric 1.1 per Windows Server per la memorizzazione dell'output nella cache

Per consentire all'applicazione Web ASP.NET di utilizzare il provider di cache di output di AppFabric, è necessario aggiungere i seguenti elementi al file web.config dell'applicazione:

  • configSections: deve essere il primo elemento del file di configurazione, sotto il tag di apertura configuration. È necessario per il corretto funzionamento degli assembly di memorizzazione nella cache di AppFabric.

  • dataCacheClients: elemento figlio dell'elemento di configurazione. Viene utilizzato per contenere elementi dataCacheClient che configurano i client della cache e specificano gli host della cache.

  • caching: elemento figlio dell'elemento system.web. Contiene un elemento outputCache che indica all'applicazione Web di utilizzare Microsoft AppFabric 1.1 per Windows Server per la gestione dei dati della cache di output. L'attributo cacheName specifica la cache denominata che verrà utilizzata. L'attributo dataCacheClientName specifica quale sezione dataCacheClient utilizzare per la configurazione della cache.

WarningAvviso
È consigliabile proteggere il file web.config utilizzato per specificare i nomi degli host della cache.

Per utilizzare Microsoft AppFabric 1.1 per Windows Server per la memorizzazione dell'output nella cache

  1. Preparare innanzitutto il progetto di Visual Studio 2010 per l'utilizzo di Memorizzazione nella cache di Microsoft AppFabric 1.1 per Windows Server. Per ulteriori informazioni, vedere Preparazione dell'ambiente di sviluppo del client della cache (Memorizzazione nella cache di AppFabric 1.1).

  2. Oltre ai normali assembly di memorizzazione nella cache, fare riferimento anche all'assembly Microsoft.Web.DistributedCache.dll presente nel percorso di installazione di Memorizzazione nella cache di Microsoft AppFabric 1.1 per Windows Server.

  3. Copiare l'elemento configSections dell'esempio riportato dopo questi passaggi nel file web.config. Verificare che questo sia il primo elemento all'interno dei tag configuration.

  4. Copiare l'elemento dataCacheClients dell'esempio riportato dopo questi passaggi nel file web.config. Tale elemento deve essere aggiunto dopo configSections, all'interno dell'elemento configuration.

    1. Configurare gli attributi name e cachePort degli elementi dell'host in modo che corrispondano ai server della cache presenti nell'ambiente in uso. Aggiungere o rimuovere gli elementi appropriati dell'host.

  5. Copiare l'elemento caching dell'esempio riportato dopo questi passaggi nel file web.config. Tale elemento deve essere posizionato all'interno dell'elemento system.web. Specificare gli attributi cacheName e dataCacheClientName e le altre impostazioni richieste.

  6. Determinare l'identità dell'applicazione Web. A tale scopo, utilizzare Gestione IIS nei server Web. Controllare l'identità del pool di applicazioni associato all'applicazione Web. Concedere al pool l'accesso utente al cluster di cache utilizzando il comando di Windows PowerShell Grant-CacheAllowedClientAccount.

    TipSuggerimento
    Se il pool di applicazioni viene eseguito con un account computer predefinito, ad esempio "NT Authority/Servizio di rete", è necessario concedere a tale computer l'accesso al cluster di cache. È possibile effettuare questa operazione specificando NOMEDOMINIO\NOMECOMPUTER$ come account. Il simbolo "$" viene aggiunto in fondo al nome del computer per indicare che si tratta dell'account del computer.

Esempio

In questo esempio viene illustrato come configurare un'applicazione Web ASP.NET in modo che memorizzi i dati della cache di output in una cache distribuita denominata default. Il client della cache di questo esempio è configurato per la comunicazione con un solo host della cache denominato CacheServer1.

  1. Aggiungere innanzitutto l'elemento configSections al file web.config come primo elemento dell'elemento configuration:

      <!--configSections must be the FIRST element -->
      <configSections>
        <section name="dataCacheClients"
                 type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core"
                 allowLocation="true" allowDefinition="Everywhere"/>
      </configSections>
    
  2. Aggiungere quindi l'elemento singolo dataCacheClients contenente uno o più elementi dataCacheClient al file web.config, dopo l'elemento configSections. Questo consente di configurare il client della cache in modo da soddisfare le richieste dell'applicazione. Per ulteriori informazioni, vedere Impostazioni di configurazione dell'applicazione (Memorizzazione nella cache di AppFabric 1.1).

      <dataCacheClients>
        <dataCacheClient name="default">
          <hosts>
            <host name="CacheServer1" cachePort="22233" />
          </hosts>
        </dataCacheClient>
      </dataCacheClients>
    
    
  3. Dopo aver aggiunto gli elementi configSections e dataCacheClients, aggiungere l'elemento caching al file web.config, all'interno dell'elemento system.web. Questo consente di specificare quale cache verrà utilizzata dall'applicazione Web per memorizzare i dati della cache di output. Personalizzare gli attributi cacheName e dataCacheClientName e le altre impostazioni richieste.

        <caching>
          <outputCache defaultProvider="DistributedCache">
            <providers>
              <add name="DistributedCache"
                   type="Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache"
                   cacheName="default"
                   dataCacheClientName="default" />
            </providers>
          </outputCache>
        </caching>
    

Al termine della procedura, il file web.config finale dell'applicazione Web avrà un aspetto simile all'esempio riportato di seguito.

<?xml version="1.0"?>

<configuration>
  <configSections>
    <section name="dataCacheClients"
             type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core"
             allowLocation="true" allowDefinition="Everywhere"/>
  </configSections>

  <dataCacheClients>
    <dataCacheClient name="default" channelOpenTimeout="10000">
      <hosts>
        <host name="CacheServer1" cachePort="22233" />
      </hosts>
    </dataCacheClient>
  </dataCacheClients>
  
  <system.web>
    <caching>
      <outputCache defaultProvider="DistributedCache">
        <providers>
          <add name="DistributedCache"
               type="Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache"
               cacheName="default"
               dataCacheClientName="default" />
        </providers>
      </outputCache>
    </caching>
  </system.web>
</configuration>

Vedere anche

  2012-03-05
Mostra: