Partager via


Guide pratique pour personnaliser une stratégie de cache basée sur le temps

Lors de la création d’une stratégie de cache basée sur le temps, vous pouvez personnaliser le comportement de mise en cache en spécifiant des valeurs pour l’âge maximal, la fraîcheur minimale, l’obsolescence maximale ou la date de synchronisation du cache. L’objet HttpRequestCachePolicy fournit plusieurs constructeurs qui vous permettent de spécifier des combinaisons valides de ces valeurs.

Pour créer une stratégie de cache basée sur le temps qui utilise une date de synchronisation de cache

Créez une stratégie de cache basée sur le temps qui utilise une date de synchronisation de cache en passant un DateTime objet au HttpRequestCachePolicy constructeur :

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

La sortie est similaire à ce qui suit :

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

Pour créer une stratégie de cache basée sur le temps basée sur une actualisation minimale

Créez une stratégie de cache basée sur le temps basée sur une actualisation minimale en spécifiant MinFresh comme valeur de cacheAgeControl paramètre et en transmettant un TimeSpan objet au HttpRequestCachePolicy constructeur :

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

Pour l'invocation suivante :

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

La sortie est la suivante :

Level:Default MinFresh:3600

Pour créer une stratégie de cache temporelle fondée sur la fraîcheur minimale et l’âge maximal

Créez une stratégie de cache basée sur le temps basée sur l’actualisation minimale et l’âge maximal en spécifiant MaxAgeAndMinFresh comme valeur de cacheAgeControl paramètre et en passant deux TimeSpan objets au HttpRequestCachePolicy constructeur, une pour spécifier l’âge maximal des ressources et une seconde pour spécifier la fraîcheur minimale autorisée pour un objet retourné à partir du 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

Pour l'invocation suivante :

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

La sortie est la suivante :

Level:Default MaxAge:36000 MinFresh:18000

Voir aussi