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 de cache especificando valores para idade máxima, atualização mínima, desatualização máxima ou data de sincronização de cache. O HttpRequestCachePolicy objeto fornece vários construtores que permitem especificar combinações válidas desses valores.

Para criar uma política de cache com base em tempo que utiliza uma data de sincronização de cache

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

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 é semelhante à seguinte:

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 frescura mínima especificando MinFresh como valor do 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 na idade máxima

Crie uma política de cache baseada em tempo com base na frescura mínima e na 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 outro para especificar a frescura 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

Consulte também