Compartir a través de


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  

Vea también