Procedimientos: Personalización de una directiva de caché de duración definida
Al crear una directiva de caché de duración definida, puede personalizar el comportamiento de almacenamiento en caché. Para ello, especifique valores de antigüedad máxima, actualización mínima, obsolescencia máxima o una fecha de sincronización de caché. El objeto HttpRequestCachePolicy proporciona varios constructores que permiten especificar combinaciones válidas de estos valores.
Para crear una directiva de caché de duración definida que use una fecha de sincronización de caché
Para crear una directiva de caché de duración definida que use una fecha de sincronización de caché, pase un objeto DateTime al constructor 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
La salida será similar a la siguiente:
When: 1/14/2004 8:07:30 AM
Level:Default CacheSyncDate:1/14/2004 8:07:30 AM
Para crear una directiva de caché de duración definida basada en la actualización mínima
Para crear una directiva de caché de duración definida basada en la actualización mínima, especifique MinFresh como el valor del parámetro cacheAgeControl
y pase un objeto TimeSpan al constructor 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 la invocación siguiente:
CreateMinFreshPolicy(new TimeSpan(1,0,0));
La salida es la siguiente:
Level:Default MinFresh:3600
Para crear una directiva de caché de duración definida basada en la actualización mínima y la antigüedad máxima
Para crear una directiva de caché de duración definida basada en la actualización mínima y la antigüedad máxima, especifique MaxAgeAndMinFresh como valor del parámetro cacheAgeControl
y pase dos objetos TimeSpan al constructor HttpRequestCachePolicy, uno para especificar la antigüedad máxima de los recursos y otro para especificar la actualización mínima permitida para un objeto devuelto desde la caché:
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 la invocación siguiente:
CreateFreshAndAgePolicy(new TimeSpan(5,0,0), new TimeSpan(10,0,0));
La salida es la siguiente:
Level:Default MaxAge:36000 MinFresh:18000