Condividi tramite


Memorizzazione nella cache dei profili <>

Panoramica

L'elemento <profiles> dell'elemento specifica un profilo da usare per la memorizzazione nella cache dell'output <caching> .

Compatibilità

Versione Note
IIS 10.0 L'elemento <profiles> non è stato modificato in IIS 10.0.
IIS 8,5 L'elemento <profiles> non è stato modificato in IIS 8.5.
IIS 8,0 L'elemento <profiles> non è stato modificato in IIS 8.0.
IIS 7,5 L'elemento <profiles> non è stato modificato in IIS 7.5.
IIS 7.0 L'elemento <profiles> dell'elemento <caching> è stato introdotto in IIS 7.0.
IIS 6.0 N/D

Installazione

L'elemento <profiles> dell'elemento è incluso nell'installazione <caching> predefinita di IIS 7.

Procedure

Come configurare la memorizzazione nella cache dell'output della pagina

  1. Aprire Gestione Internet Information Services (IIS):

    • Se si usa Windows Server 2012 o Windows Server 2012 R2:

      • Sulla barra delle applicazioni fare clic su Server Manager, scegliere Strumenti, quindi fare clic su Gestione Internet Information Services (IIS).
    • Se si usa Windows 8 o Windows 8.1:

      • Tenere premuto il tasto Windows, premere la lettera X e quindi fare clic su Pannello di controllo.
      • Fare clic su Strumenti di amministrazione, quindi fare doppio clic su Gestione Internet Information Services (IIS).
    • Se si usa Windows Server 2008 o Windows Server 2008 R2:

      • Sulla barra delle applicazioni fare clic su Start, scegliere Strumenti di amministrazione, quindi fare clic su Gestione Internet Information Services (IIS).
    • Se si usa Windows Vista o Windows 7:

      • Sulla barra delle applicazioni fare clic su Start e quindi su Pannello di controllo.
      • Fare doppio clic su Strumenti di amministrazione, quindi fare doppio clic su Gestione Internet Information Services (IIS).
  2. Nel riquadro Connessioni passare alla connessione, al sito, all'applicazione o alla directory per cui si vuole configurare la memorizzazione nella cache dell'output della pagina.

  3. Nel riquadro Home scorrere fino a Memorizzazione nella cache di output e quindi fare doppio clic su Memorizzazione nella cache di output.
    Screenshot della finestra I S Manager. La memorizzazione nella cache di output è selezionata nel riquadro principale.

  4. Nel riquadro Azioni fare clic su Aggiungi...

  5. Nella finestra di dialogo Aggiungi regola cache digitare l'estensione del nome file da memorizzare nella cache nella casella Estensione nome file e quindi selezionare l'opzione Memorizzazione nella cache in modalità utente , l'opzione di memorizzazione nella cache in modalità kernel o entrambe.

  6. Selezionare le opzioni da usare per la memorizzazione nella cache e quindi fare clic su OK.
    Screenshot della finestra di dialogo Aggiungi regola cache. La memorizzazione nella cache in modalità utente e la memorizzazione nella cache in modalità kernel vengono controllate.

Configurazione

Attributi

Nessuno.

Elementi figlio

Elemento Descrizione
add Elemento facoltativo.

Aggiunge un profilo di memorizzazione nella cache di output alla raccolta di profili di memorizzazione nella cache di output.
clear Elemento facoltativo.

Rimuove tutti i riferimenti ai profili di memorizzazione nella cache di output dalla raccolta di profili di memorizzazione nella cache di output.
remove Elemento facoltativo.

Rimuove un riferimento a un profilo di memorizzazione nella cache di output dalla raccolta di profili di memorizzazione nella cache di output.

Esempio di configurazione

L'esempio di configurazione seguente abilita la memorizzazione nella cache in modalità utente e la memorizzazione nella cache in modalità kernel, entrambe abilitate per impostazione predefinita in IIS 7.0. Usa anche l'elemento <add> contenuto dall'elemento per abilitare la memorizzazione nella cache dell'output <profiles> per i file con estensione asp. Usa anche l'attributo dei criteri per memorizzare nella cache la pagina fino a quando non viene modificata; esegue la stessa operazione per la memorizzazione nella cache del kernel usando l'attributo kernelCachePolicy .

<configuration>
   <system.webServer>
      <caching enabled="true" enableKernelCache="true">
         <profiles>
            <add extension=".asp" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" />
         </profiles>
      </caching>
   </system.webServer>
</configuration>

L'esempio di codice seguente imposta la dimensione massima della cache di output su 1 gigabyte e imposta la dimensione massima di una risposta che può essere archiviata nella cache di output su 512 kilobyte.

<configuration>
   <system.webServer>
      <caching enabled="true" enableKernelCache="true" maxCacheSize="1000" maxResponseSize="512000"/>
   </system.webServer>
</configuration>

Codice di esempio

Gli esempi seguenti configurano la memorizzazione nella cache dell'output della pagina per i file con estensione asp e configuraNO IIS per memorizzare nella cache in modalità utente e kernel fino a quando i file ASP non cambiano.

AppCmd.exe

appcmd.exe set config -section:system.webServer/caching /+"profiles.[extension='asp',policy='CacheUntilChange',kernelCachePolicy='CacheUntilChange']" /commit:apphost

Nota

È necessario assicurarsi di impostare il parametro commit su apphost quando si usa AppCmd.exe per configurare queste impostazioni. In questo modo le impostazioni di configurazione vengono confermate nella sezione relativa al percorso appropriato nel file ApplicationHost.config.

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample {
   private static void Main() {
      using(ServerManager serverManager = new ServerManager()) { 
         Configuration config = serverManager.GetApplicationHostConfiguration();
         ConfigurationSection cachingSection = config.GetSection("system.webServer/caching");
         ConfigurationElementCollection profilesCollection = cachingSection.GetCollection("profiles");

         ConfigurationElement addElement = profilesCollection.CreateElement("add");
         addElement["extension"] = @"asp";
         addElement["policy"] = @"CacheUntilChange";
         addElement["kernelCachePolicy"] = @"CacheUntilChange";
         profilesCollection.AddAt(0, addElement);

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample
   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim cachingSection As ConfigurationSection = config.GetSection("system.webServer/caching")
      Dim profilesCollection As ConfigurationElementCollection = cachingSection.GetCollection("profiles")
      Dim addElement As ConfigurationElement = profilesCollection.CreateElement("add")
      addElement("extension") = "asp"
      addElement("policy") = "CacheUntilChange"
      addElement("kernelCachePolicy") = "CacheUntilChange"
      profilesCollection.AddAt(0, addElement)
      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var cachingSection = adminManager.GetAdminSection("system.webServer/caching", "MACHINE/WEBROOT/APPHOST");
var profilesCollection = cachingSection.ChildElements.Item("profiles").Collection;

var addElement = profilesCollection.CreateNewElement("add");
addElement.Properties.Item("extension").Value = "asp";
addElement.Properties.Item("policy").Value = "CacheUntilChange";
addElement.Properties.Item("kernelCachePolicy").Value = "CacheUntilChange";
profilesCollection.AddElement(addElement, 0);

adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set cachingSection = adminManager.GetAdminSection("system.webServer/caching", "MACHINE/WEBROOT/APPHOST")
Set profilesCollection = cachingSection.ChildElements.Item("profiles").Collection

Set addElement = profilesCollection.CreateNewElement("add")
addElement.Properties.Item("extension").Value = "asp"
addElement.Properties.Item("policy").Value = "CacheUntilChange"
addElement.Properties.Item("kernelCachePolicy").Value = "CacheUntilChange"
profilesCollection.AddElement addElement, 0

adminManager.CommitChanges()