Aracılığıyla paylaş


Nasıl yapılır: Zamana bağlı önbellek ilkesini özelleştirme

Zamana dayalı önbellek ilkesi oluştururken, maksimum yaş, en düşük güncellik, maksimum eskime veya önbellek eşitleme tarihi değerlerini belirterek önbelleğe alma davranışını özelleştirebilirsiniz. nesnesi, HttpRequestCachePolicy bu değerlerin geçerli birleşimlerini belirtmenize olanak sağlayan birkaç oluşturucu sağlar.

Zamana dayalı bir önbellek politikası oluşturmak için önbellek eşitleme tarihi kullanın.

Zamana dayalı bir HttpRequestCachePolicy önbellek ilkesi oluşturmak için bir DateTime nesnesini oluşturucuya geçirin ve önbellek eşitleme tarihini kullanın.

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

Çıkış aşağıdakine benzer:

When: 1/14/2004 8:07:30 AM
Level:Default CacheSyncDate:1/14/2004 8:07:30 AM

En düşük güncelliği temel alan zamana dayalı önbellek ilkesi oluşturmak için

MinFresh ve cacheAgeControl parametre değeri olarak belirtip, TimeSpan nesnesini HttpRequestCachePolicy oluşturucusuna geçirerek en düşük güncelliğe dayanan bir zamana dayalı önbellek politikası oluşturun.

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

Aşağıdaki çağrı için:

CreateMinFreshPolicy(new TimeSpan(1,0,0));

Çıktı şudur:

Level:Default MinFresh:3600

En düşük güncellik ve en yüksek yaş temelinde zamana dayalı önbellek ilkesi oluşturmak için

Parametre değeri olarak MaxAgeAndMinFresh belirleyip, oluşturucuya iki TimeSpan nesnesi geçirin: Biri kaynaklar için maksimum yaşı belirtir, diğeri de önbellekten elde edilen bir nesnenin izin verilen minimum güncelliğini belirtmek içindir. Bu şekilde, minimum güncellik ve maksimum yaşa dayalı zaman tabanlı bir önbellek politikası oluşturun.

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

Aşağıdaki çağrı için:

CreateFreshAndAgePolicy(new TimeSpan(5,0,0), new TimeSpan(10,0,0));

Çıktı şudur:

Level:Default MaxAge:36000 MinFresh:18000

Ayrıca bakınız