Compartilhar via


Como personalizar uma política de cache baseada em tempo

Ao criar uma política de cache baseada em tempo, você pode personalizar o comportamento do cache especificando valores para a idade máxima, atualização mínima, desatualização máxima ou data de sincronização do cache. O objeto HttpRequestCachePolicy fornece vários construtores que permitem especificar combinações válidas desses valores.

Para criar uma política de cache baseada em tempo que usa uma data de sincronização do cache

Crie uma política de cache baseada em tempo que usa uma data de sincronização do cache passando um objeto DateTime para o construtor HttpRequestCachePolicy:

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

A saída deverá ser semelhante a esta:

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

Para criar uma política de cache baseada em tempo com base na atualização mínima

Crie uma política de cache baseada em tempo com base na atualização mínima especificando MinFresh como o valor de parâmetro cacheAgeControl e passando um objeto TimeSpan para o construtor 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

Para a seguinte invocação:

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

A saída é:

Level:Default MinFresh:3600

Para criar uma política de cache baseada em tempo com base na atualização mínima e idade máxima

Crie uma política de cache baseada em tempo que tem como base a atualização mínima e a idade máxima especificando MaxAgeAndMinFresh como o valor do parâmetro cacheAgeControl e passando dois objetos TimeSpan para o construtor HttpRequestCachePolicy, um para especificar a idade máxima dos recursos e um segundo para especificar a atualização mínima permitida para um objeto retornado do 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

Para a seguinte invocação:

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

A saída é:

Level:Default MaxAge:36000 MinFresh:18000  

Confira também