Compartir a través de


Personalización de una directiva de caché basada en tiempo

Al crear una directiva de caché basada en tiempo, puede personalizar el comportamiento de almacenamiento en caché especificando valores para la antigüedad máxima, la actualización mínima, la obsolescencia máxima o la fecha de sincronización de caché. El HttpRequestCachePolicy objeto proporciona varios constructores que permiten especificar combinaciones válidas de estos valores.

Para crear una directiva de caché basada en tiempo que use una fecha de sincronización de caché

Cree una directiva de caché basada en tiempo que use una fecha de sincronización de caché pasando un DateTime objeto al HttpRequestCachePolicy constructor:

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 es 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é basada en el tiempo basada en la actualización mínima

Cree una directiva de caché basada en el tiempo y en la frescura mínima especificando MinFresh como el valor del parámetro cacheAgeControl y pasando 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é basada en el tiempo basada en la actualización mínima y la antigüedad máxima

Cree una directiva de caché basada en el tiempo basada en la actualización mínima y la antigüedad máxima especificando MaxAgeAndMinFresh como el valor del cacheAgeControl parámetro y pasando dos TimeSpan objetos al HttpRequestCachePolicy constructor, uno para especificar la antigüedad máxima de los recursos y un segundo para especificar la actualización mínima permitida para un objeto devuelto desde la memoria 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

Consulte también