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