Condividi tramite


Procedura: personalizzare criteri di cache basati sul tempo

Quando si creano criteri di cache basati sul tempo, è possibile personalizzare il comportamento di memorizzazione nella cache specificando i valori per validità massima, aggiornamento minimo, decadimento massimo o data di sincronizzazione della cache. L'oggetto HttpRequestCachePolicy fornisce diversi costruttori che consentono di specificare combinazioni valide di questi valori.

Per creare criteri di cache basati sul tempo che usano una data di sincronizzazione della cache

Creare criteri di cache basati sul tempo che usano una data di sincronizzazione della cache passando un DateTime oggetto al HttpRequestCachePolicy costruttore:

public static HttpRequestCachePolicy CreateLastSyncPolicy(DateTime when)
{
    var policy = new HttpRequestCachePolicy(when);
    Console.WriteLine("When: {0}", when);
    Console.WriteLine(policy.ToString());
    return policy;
}
Public Shared Function CreateLastSyncPolicy([when] As DateTime) As HttpRequestCachePolicy
    Dim policy As New HttpRequestCachePolicy([when])
    Console.WriteLine("When: {0}", [when])
    Console.WriteLine(policy.ToString())
    Return policy
End Function

L'output è simile al seguente:

When: 1/14/2004 8:07:30 AM
Level:Default CacheSyncDate:1/14/2004 8:07:30 AM

Per creare una politica di cache basata sul tempo e sulla freschezza minima

Creare un criterio di cache basato sul tempo e sulla freschezza minima specificando MinFresh come valore del parametro cacheAgeControl e passando un oggetto TimeSpan al costruttore HttpRequestCachePolicy:

public static HttpRequestCachePolicy CreateMinFreshPolicy(TimeSpan span)
{
    var policy = new HttpRequestCachePolicy(HttpCacheAgeControl.MinFresh, span);
    Console.WriteLine(policy.ToString());
    return policy;
}
Public Shared Function CreateMinFreshPolicy(span As TimeSpan) As HttpRequestCachePolicy
    Dim policy As New HttpRequestCachePolicy(HttpCacheAgeControl.MinFresh, span)
    Console.WriteLine(policy.ToString())
    Return policy
End Function

Per la chiamata seguente:

CreateMinFreshPolicy(new TimeSpan(1,0,0));

L'output è il seguente:

Level:Default MinFresh:3600

Per creare criteri di cache basati sul tempo in base alla freschezza minima e all'anzianità massima

Creare criteri di cache basati sul tempo in base alla validità minima e massima specificando MaxAgeAndMinFresh come valore del cacheAgeControl parametro e passando due TimeSpan oggetti al HttpRequestCachePolicy costruttore, uno per specificare la validità massima per le risorse e un secondo per specificare la freschezza minima consentita per un oggetto restituito dalla cache:

public static HttpRequestCachePolicy CreateFreshAndAgePolicy(TimeSpan freshMinimum, TimeSpan ageMaximum)
{
    var policy = new HttpRequestCachePolicy(HttpCacheAgeControl.MaxAgeAndMinFresh, ageMaximum, freshMinimum);
    Console.WriteLine(policy.ToString());
    return policy;
}
Public Shared Function CreateFreshAndAgePolicy(freshMinimum As TimeSpan, ageMaximum As TimeSpan) As HttpRequestCachePolicy
    Dim policy As New HttpRequestCachePolicy(HttpCacheAgeControl.MaxAgeAndMinFresh, ageMaximum, freshMinimum)
    Console.WriteLine(policy.ToString())
    Return policy
End Function

Per la chiamata seguente:

CreateFreshAndAgePolicy(new TimeSpan(5,0,0), new TimeSpan(10,0,0));

L'output è il seguente:

Level:Default MaxAge:36000 MinFresh:18000

Vedere anche