Provider di cache di output ASP.NET per la Cache Redis di AzureASP.NET Output Cache Provider for Azure Redis Cache

Il provider di cache Redis di output è un meccanismo di memorizzazione out-of-process per i dati della cache di output.The Redis Output Cache Provider is an out-of-process storage mechanism for output cache data. Tali dati sono specificamente utilizzati per le risposte HTTP complete (memorizzazione nella cache di output delle pagine).This data is specifically for full HTTP responses (page output caching). Il provider viene inserito nel nuovo punto di estendibilità del provider di cache di output che è stato introdotto in ASP.NET 4.The provider plugs into the new output cache provider extensibility point that was introduced in ASP.NET 4.

Per usare il provider di cache Redis di output, configurare prima di tutto la cache, quindi configurare l'applicazione ASP.NET usando il pacchetto NuGet del provider di cache Redis di output.To use the Redis Output Cache Provider, first configure your cache, and then configure your ASP.NET application using the Redis Output Cache Provider NuGet package. Questo argomento offre indicazioni sulla configurazione dell'applicazione per l'uso del provider di cache Redis di output.This topic provides guidance on configuring your application to use the Redis Output Cache Provider. Per altre informazioni sulla creazione e sulla configurazione di un'istanza della Cache Redis di Azure, vedere Creare una cache.For more information about creating and configuring an Azure Redis Cache instance, see Create a cache.

Archiviare l'output della pagina ASP.NET nella cacheStore ASP.NET page output in the cache

Per configurare un'applicazione client in Visual Studio con il pacchetto NuGet Redis Cache Session State, fare clic su Gestione pacchetti NuGet e quindi su Console di Gestione pacchetti dal menu Strumenti.To configure a client application in Visual Studio using the Redis Cache Session State NuGet package, click NuGet Package Manager, Package Manager Console from the Tools menu.

Eseguire questo comando nella finestra Package Manager Console.Run the following command from the Package Manager Console window.

Install-Package Microsoft.Web.RedisOutputCacheProvider

Il pacchetto NuGet del provider di cache Redis di output ha una dipendenza dal pacchetto StackExchange.Redis.StrongName.The Redis Output Cache Provider NuGet package has a dependency on the StackExchange.Redis.StrongName package. Se il pacchetto StackExchange.Redis.StrongName non è presente nel progetto, viene installato.If the StackExchange.Redis.StrongName package is not present in your project, it is installed. Per altre informazioni sul pacchetto NuGet provider di cache Redis di output, vedere la pagina di NuGet su RedisOutputCacheProvider.For more information about the Redis Output Cache Provider NuGet package, see the RedisOutputCacheProvider NuGet page.

Nota

Oltre al pacchetto StackExchange.Redis.StrongName con nome sicuro, è disponibile anche la versione StackExchange.Redis priva di nome sicuro.In addition to the strong-named StackExchange.Redis.StrongName package, there is also the StackExchange.Redis non-strong-named version. Se il progetto usa la versione di StackExchange.Redis con nome non sicuro, è necessario disinstallarla per evitare conflitti di denominazione nel progetto.If your project is using the non-strong-named StackExchange.Redis version you must uninstall it, otherwise you get naming conflicts in your project. Per altre informazioni su questi pacchetti, vedere Configurare i client della cache .NET.For more information about these packages, see Configure .NET cache clients.

Il pacchetto NuGet scarica e aggiunge i riferimenti all'assembly richiesto e aggiunge la sezione seguente al file web.config.The NuGet package downloads and adds the required assembly references and adds the following section into your web.config file. Questa sezione contiene la configurazione richiesta dall'applicazione ASP.NET per usare il provider di cache di output Redis.This section contains the required configuration for your ASP.NET application to use the Redis Output Cache Provider.

<caching>
  <outputCachedefault Provider="MyRedisOutputCache">
    <providers>
      <!--
      <add name="MyRedisOutputCache"
        host = "127.0.0.1" [String]
        port = "" [number]
        accessKey = "" [String]
        ssl = "false" [true|false]
        databaseId = "0" [number]
        applicationName = "" [String]
        connectionTimeoutInMilliseconds = "5000" [number]
        operationTimeoutInMilliseconds = "5000" [number]
      />
      -->
      <add name="MyRedisOutputCache" type="Microsoft.Web.Redis.RedisOutputCacheProvider" host="127.0.0.1" accessKey="" ssl="false"/>
    </providers>
  </outputCache>
</caching>

La sezione commentata fornisce un esempio degli attributi e delle impostazioni di esempio per ogni attributo.The commented section provides an example of the attributes and sample settings for each attribute.

Configurare gli attributi con i valori del pannello Cache nel portale di Microsoft Azure e configurare gli altri valori come desiderato.Configure the attributes with the values from your cache blade in the Microsoft Azure portal, and configure the other values as desired. Per istruzioni sull'accesso alle proprietà della cache, vedere Configurare le impostazioni di Cache Redis di Azure.For instructions on accessing your cache properties, see Configure Redis cache settings.

  • host : specificare l'endpoint della cache.host – specify your cache endpoint.
  • port : usare la porta non SSL o la porta SSL, in base alle impostazioni SSL.port – use either your non-SSL port or your SSL port, depending on the ssl settings.
  • accessKey : usare la chiave primaria o secondaria per la cache.accessKey – use either the primary or secondary key for your cache.
  • ssl : true per proteggere le comunicazioni cache/client con SSL; in caso contrario, false.ssl – true if you want to secure cache/client communications with ssl; otherwise false. Assicurarsi di specificare la porta corretta.Be sure to specify the correct port.
    • Per le nuove cache la porta senza SSL è disabilitata per impostazione predefinita.The non-SSL port is disabled by default for new caches. Specificare true per questa impostazione per usare la porta SSL.Specify true for this setting to use the SSL port. Per altre informazioni sull'abilitazione della porta senza SSL, vedere la sezione Porte di accesso nell'argomento Configurare una cache.For more information about enabling the non-SSL port, see the Access Ports section in the Configure a cache topic.
  • databaseId : specifica il database da usare per i dati di output della cache.databaseId – Specified which database to use for cache output data. Se non è specificato alcun valore, verrà usato il valore predefinito 0.If not specified, the default value of 0 is used.
  • applicationName: le chiavi vengono archiviate in Redis come <AppName>_<SessionId>_Data.applicationName – Keys are stored in redis as <AppName>_<SessionId>_Data. Questo schema di denominazione consente a più applicazioni di condividere la stessa chiave.This naming scheme enables multiple applications to share the same key. Questo parametro è facoltativo e se non lo si specifica, verrà usato un valore predefinito.This parameter is optional and if you do not provide it a default value is used.
  • connectionTimeoutInMilliseconds : questa impostazione consente di eseguire l'override dell'impostazione connectTimeout nel client StackExchange.Redis.connectionTimeoutInMilliseconds – This setting allows you to override the connectTimeout setting in the StackExchange.Redis client. Se non viene specificato alcun valore, verrà usata l'impostazione di connectTimeout predefinita pari a 5000.If not specified, the default connectTimeout setting of 5000 is used. Per altre informazioni, vedere Modello di configurazione StackExchange.Redis.For more information, see StackExchange.Redis configuration model.
  • operationTimeoutInMilliseconds : questa impostazione consente di eseguire l'override dell'impostazione syncTimeout nel client StackExchange.Redis.operationTimeoutInMilliseconds – This setting allows you to override the syncTimeout setting in the StackExchange.Redis client. Se non viene specificato alcun valore, verrà usata l'impostazione di syncTimeout predefinita pari a 1000.If not specified, the default syncTimeout setting of 1000 is used. Per altre informazioni, vedere Modello di configurazione StackExchange.Redis.For more information, see StackExchange.Redis configuration model.

Aggiungere una direttiva OutputCache a ogni pagina per cui si desidera memorizzare l'output nella cache.Add an OutputCache directive to each page for which you wish to cache the output.

<%@ OutputCache Duration="60" VaryByParam="*" %>

Nell'esempio precedente, i dati delle pagine rimangono memorizzati nella cache per 60 secondi e per ogni combinazione di parametri viene memorizzata nella cache una versione diversa della pagina.In the previous example, the cached page data remains in the cache for 60 seconds, and a different version of the page is cached for each parameter combination. Per altre informazioni sulla direttiva OutputCache, vedere @OutputCache.For more information about the OutputCache directive, see @OutputCache.

Dopo l'esecuzione di questi passaggi, l'applicazione è configurata per l'uso del provider di cache di output Redis.Once these steps are performed, your application is configured to use the Redis Output Cache Provider.

Passaggi successiviNext steps

Vedere Provider di stato della sessione ASP.NET per Cache Redis di Azure.Check out the ASP.NET Session State Provider for Azure Redis Cache.