Esporta (0) Stampa
Espandi tutto

Impostazioni di configurazione del provider di stato della sessione di ASP.NET (Cache di Azure)

Aggiornamento: luglio 2010

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

Questo argomento illustra le impostazioni di configurazione relative al provider di stato della sessione di per ASP.NET. Queste impostazioni sono specificate nella sezione providers dell'elemento sessionState nel file web.config.

 

Attributo Descrizione

name (obbligatorio)

Nome descrittivo del provider usato dall'elemento sessionState per fare riferimento al provider.

type (obbligatorio)

Stringa type di .NET Framework per il provider. Vedere la seguente nota sul valore obbligatorio.

cacheName (obbligatorio)

Nome della cache di . Deve essere impostato su “default”.

dataCacheClientName (facoltativo)

Nome della sezione dataCacheClient da usare dalla sezione di configurazione dataCacheClients. Questo attributo è obbligatorio solo se nel file web.config sono specificate più sezioni dataCacheClient. Per impostazione predefinita, il provider usa la sezione dataCacheClient denominata “default”.

applicationName (facoltativo)

Valore stringa usato dal provider durante la creazione delle chiavi della cache per la memorizzazione dei dati della cache di output. Il valore predefinito è una stringa vuota. Quando l'attributo non è impostato, il provider usa il valore di HttpRuntime.AppDomainAppId come parte delle chiavi della cache usate internamente. Diversamente da quanto avviene per la funzionalità relativa allo stato della sessione, è opportuno che i dati della cache di output non siano condivisi tra diverse applicazioni ASP.NET (ad esempio /contoso e /AdventureWorks non possono condividere i dati della cache di output). È invece necessario assicurare che diverse istanze fisiche della stessa applicazione possano accedere agli stessi dati della cache di output. A questo scopo, è possibile procedere in due diversi modi:

  • Se l'attributo del provider applicationName non è impostato in modo esplicito, HttpRuntime.AppDomainAppId viene usato internamente dal provider per la generazione delle chiavi della cache. Questo significa che ciascuna istanza fisica della stessa applicazione (ad esempio ciascun server Web che ospita l'applicazione /contoso) deve essere installata in IIS usando lo stesso percorso di metabase. Per una descrizione sull'uso dei percorsi di metabase con SQL Server e con i provider di stato della sessione out-of-process, vedere l'articolo all'indirizzo http://support.microsoft.com/kb/325056. Anche se lo stato della sessione ha caratteristiche diverse, esiste lo stesso problema per quanto riguarda la sincronizzazione dei percorsi di metabase. Per la memorizzazione nella cache di output, questo problema si verifica se nel file web.config non è stato impostato l'attributo applicationName.

  • Per un approccio più semplice, si può usare nel file web.config lo stesso attributo applicationName per ciascuna istanza della stessa applicazione ASP.NET (ad esempio su ciascun server Web che ospita l'applicazione /contoso). In questo modo, le diverse istanze fisiche della stessa applicazione possono leggere e scrivere gli stessi dati nella cache di output. In questo caso, il provider non usa AppDomainAppId per la generazione delle chiavi della cache e non esiste quindi alcun rischio di mancata corrispondenza tra i percorsi di metabase.

useBlobMode (facoltativo)

Valore booleano che specifica se i dati di stato della sessione devono essere caricati e memorizzati come un unico BLOB serializzato. In questa versione questo attributo deve essere impostato su true, che corrisponde al valore predefinito. L'uso di false non è supportato.

nonInlinedAdditionalLifetime (non supportato)

Attributo non supportato in questa versione.

retryInterval (facoltativo)

Intervallo di tempo di attesa tra i tentativi di ripetizione di un'operazione in caso di errore di comunicazione con la cache. Il formato della stringa da usare per questo valore è "HH:MM:SS". Per impostazione predefinita, viene attivata la modalità di sospensione del provider per un secondo.

retryCount (facoltativo)

Valore intero che indica al provider il numero di tentativi di ripetizione di un'operazione in caso di errore di comunicazione con la cache. I tentativi di ripetizione possono essere effettuati solo per alcune operazioni. Il valore predefinito è tre. Nell'intervallo di tempo configurato in retryInterval tra un tentativo di ripetizione e l'altro viene attivata la modalità di sospensione del provider.

inlinedKeys (non supportato)

Attributo non supportato in questa versione.

maxInlinedStringLength (non supportato)

Attributo non supportato in questa versione.

noteNota
L'attributo type deve essere impostato su “Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache”.

<configuration>
  <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>
  <system.web>
    <!-- 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>
  </system.web>
  <dataCacheClients>
    <dataCacheClient name="default">
      <autoDiscover isEnabled="true" identifier="CacheWorkerRole1" />
    </dataCacheClient>
  </dataCacheClients>
  <cacheDiagnostics>
    <crashDump dumpLevel="Off" dumpStorageQuotaInMB="100" />
  </cacheDiagnostics>
</configuration>

Vedere anche

Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft