Procedura: Impostare criteri di cache basati sulla posizione per un'applicazioneHow to: Set a Location-Based Cache Policy for an Application

I criteri di cache basati sulla posizione consentono a un'applicazione di definire in modo esplicito il comportamento di memorizzazione nella cache in base alla posizione della risorsa richiesta.Location-based cache policies allow an application to explicitly define caching behavior based on the location of the requested resource. Questo argomento illustra l'impostazione dei criteri di cache a livello di codice.This topic demonstrates setting the cache policy programmatically. Per informazioni sull'impostazione dei criteri per un'applicazione che usa file di configurazione, vedere Elemento <requestCaching> (impostazioni di rete).For information on setting the policy for an application using the configuration files, see <requestCaching> Element (Network Settings).

Per impostare criteri di cache basati sulla posizione per un'applicazioneTo set a location-based cache policy for an application

  1. Creare un oggetto RequestCachePolicy o HttpRequestCachePolicy.Create a RequestCachePolicy or HttpRequestCachePolicy object.

  2. Impostare l'oggetto criteri come predefinito per il dominio dell'applicazione.Set the policy object as the default for the application domain.

Per impostare un criterio che prende le risorse richieste da una cacheTo set a policy that takes requested resources from a cache

  • È possibile creare un criterio che prende le risorse richieste da una cache, se disponibili, e in caso contrario invia le richieste al server, impostando il livello di cache su CacheIfAvailable.Create a policy that takes requested resources from a cache if available, and otherwise, sends requests to the server, by setting the cache level to CacheIfAvailable. Una richiesta può essere soddisfatta da qualsiasi cache tra il client e il server, incluse le cache remote.A request can be fulfilled by any cache between the client and server, including remote caches.

    public static void UseCacheIfAvailable()  
    {  
        HttpRequestCachePolicy policy = new HttpRequestCachePolicy  
            (HttpRequestCacheLevel.CacheIfAvailable);  
        HttpWebRequest.DefaultCachePolicy = policy;  
    }  
    
    Public Shared Sub UseCacheIfAvailable()  
        Dim policy As New HttpRequestCachePolicy _  
             (HttpRequestCacheLevel.CacheIfAvailable)  
        HttpWebRequest.DefaultCachePolicy = policy  
    End Sub  
    

Per impostare un criterio che impedisce a qualsiasi cache di fornire risorseTo set a policy that prevents any cache from supplying resources

  • È possibile creare un criterio che impedisce a qualsiasi cache di fornire le risorse richieste impostando il livello di cache su NoCacheNoStore.Create a policy that prevents any cache from supplying requested resources by setting the cache level to NoCacheNoStore. Questo livello di criteri rimuove la risorsa dalla cache locale se è presente e indica anche alle cache remote di rimuovere la risorsa.This policy level removes the resource from the local cache if it is present and indicates to remote caches that they should also remove the resource.

    public static void DoNotUseCache()  
    {  
    HttpRequestCachePolicy policy = new HttpRequestCachePolicy   
            (HttpRequestCacheLevel.NoCacheNoStore);  
        HttpWebRequest.DefaultCachePolicy = policy;  
    }  
    
    Public Shared Sub DoNotUseCache()  
        Dim policy As New HttpRequestCachePolicy _  
            (HttpRequestCacheLevel.NoCacheNoStore)  
        HttpWebRequest.DefaultCachePolicy = policy  
    End Sub  
    

Per impostare un criterio che restituisce le risorse richieste solo se sono nella cache localeTo set a policy that returns requested resources only if they are in the local cache

  • È possibile creare un criterio che restituisce le risorse richieste solo se sono nella cache locale impostando il livello di cache su CacheOnly.Create a policy that returns requested resources only if they are in the local cache by setting the cache level to CacheOnly. Se la risorsa richiesta non è presente nella cache, viene generata un'eccezione WebException.If the requested resource is not in the cache, a WebException exception is thrown.

    public static void OnlyUseCache()  
    {  
        HttpRequestCachePolicy policy = new HttpRequestCachePolicy   
            (HttpRequestCacheLevel.CacheOnly);  
        HttpWebRequest.DefaultCachePolicy = policy;  
    }  
    
    Public Shared Sub OnlyUseCache()  
        Dim policy As New HttpRequestCachePolicy _  
            (HttpRequestCacheLevel.CacheOnly)  
        HttpWebRequest.DefaultCachePolicy = policy  
    End Sub  
    

Per impostare un criterio che impedisce alla cache locale di fornire risorseTo set a policy that prevents the local cache from supplying resources

  • È possibile creare un criterio che impedisce alla cache locale di fornire le risorse richieste impostando il livello di cache su Refresh.Create a policy that prevents the local cache from supplying requested resources by setting the cache level to Refresh. Se la risorsa richiesta è presente in una cache intermedia e viene riconvalidata correttamente, la cache intermedia può fornire la risorsa richiesta.If the requested resource is in an intermediate cache and is successfully revalidated, the intermediate cache can supply the requested resource.

    public static void DoNotUseLocalCache()  
    {  
     HttpRequestCachePolicy policy = new HttpRequestCachePolicy   
            (HttpRequestCacheLevel.Refresh);  
        HttpWebRequest.DefaultCachePolicy = policy;  
    }  
    
    Public Shared Sub DoNotUseLocalCache()  
        Dim policy As New HttpRequestCachePolicy _  
            (HttpRequestCacheLevel.Refresh)  
        HttpWebRequest.DefaultCachePolicy = policy  
    End Sub  
    

Per impostare un criterio che impedisce a qualsiasi cache di fornire le risorse richiesteTo set a policy that prevents any cache from supplying requested resources

  • È possibile creare un criterio che impedisce a qualsiasi cache di fornire le risorse richieste impostando il livello di cache su Reload.Create a policy that prevents any cache from supplying requested resources by setting the cache level to Reload. La risorsa restituita dal server può essere archiviata nella cache.The resource returned by the server can be stored in the cache.

    public static void SendToServer()  
    {  
    HttpRequestCachePolicy policy = new HttpRequestCachePolicy   
            (HttpRequestCacheLevel.Reload);  
        HttpWebRequest.DefaultCachePolicy = policy;  
    }  
    
    Public Shared Sub SendToServer()  
        Dim policy As New HttpRequestCachePolicy _  
            (HttpRequestCacheLevel.Reload)  
        HttpWebRequest.DefaultCachePolicy = policy  
    End Sub  
    

Per impostare un criterio che consente a qualsiasi cache di fornire le risorse richieste se la risorsa nel server non è più recente della copia memorizzata nella cacheTo set a policy that allows any cache to supply requested resources if the resource on the server is not newer than the cached copy

  • È possibile creare un criterio che consente a qualsiasi cache di fornire le risorse richieste se la risorsa nel server non è più recente della copia memorizzata nella cache impostando il livello di cache su Revalidate.Create a policy that allows any cache to supply requested resources if the resource on the server is not newer than the cached copy by setting the cache level to Revalidate.

    public static void CheckServer()  
    {  
    HttpRequestCachePolicy policy = new HttpRequestCachePolicy  
             (HttpRequestCacheLevel.Revalidate);  
        HttpWebRequest.DefaultCachePolicy = policy;  
    }  
    
    Public Shared Sub CheckServer()  
        Dim policy As New HttpRequestCachePolicy _  
            (HttpRequestCacheLevel.Revalidate)  
        HttpWebRequest.DefaultCachePolicy = policy  
    End Sub  
    

Vedere ancheSee Also

Gestione della cache per le applicazioni di reteCache Management for Network Applications
Criteri di cacheCache Policy
Criteri di cache basati sulla posizioneLocation-Based Cache Policies
Criteri di cache basati sull'oraTime-Based Cache Policies
Elemento <requestCaching> (impostazioni di rete)<requestCaching> Element (Network Settings)