다음을 통해 공유


방법: 시간 기반 캐시 정책을 사용자 지정

시간 기반 캐시 정책을 만들 경우 최대 기간, 최소 새로 고침, 최대 부실 또는 캐시 동기화 날짜에 대한 값을 지정하여 캐싱 동작을 사용자 지정할 수 있습니다. HttpRequestCachePolicy 개체는 이러한 값의 유효한 조합을 지정할 수 있는 여러 가지 생성자를 제공합니다.

캐시 동기화 날짜를 사용하는 시간 기반 캐시 정책을 만들려면

DateTime 개체를 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

다음과 유사하게 출력됩니다.

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

최소 새로 고침을 기반으로 하는 시간 기반 캐시 정책을 만들려면

MinFreshcacheAgeControl 매개 변수 값으로 지정하고 TimeSpan 개체를 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

다음 호출의 경우:

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

출력은 다음과 같습니다.

Level:Default MinFresh:3600

최소 새로 고침 및 최대 기간을 기반으로 하는 시간 기반 캐시 정책을 만들려면

MaxAgeAndMinFreshcacheAgeControl 매개 변수 값으로 지정하고 두 개의 TimeSpan 개체를 HttpRequestCachePolicy 생성자에 전달하여 최소 새로 고침 및 최대 기간을 기반으로 하는 시간 기반 캐시 정책을 만듭니다. 하나의 개체는 리소스의 최대 기간을 지정하고 두 번째 개체는 캐시에서 반환된 개체에 허용되는 최소 새로 고침을 지정합니다.

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

다음 호출의 경우:

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

출력은 다음과 같습니다.

Level:Default MaxAge:36000 MinFresh:18000  

참고 항목