언어

HttpRequestCacheLevel 열거형

정의

HTTP(하이퍼텍스트 전송 프로토콜)를 사용하여 가져온 리소스에 대한 캐싱 동작을 지정합니다.

public enum class HttpRequestCacheLevel
public enum HttpRequestCacheLevel
type HttpRequestCacheLevel = 
Public Enum HttpRequestCacheLevel
상속
HttpRequestCacheLevel

필드

Name 값 Description
Default 0

리소스의 캐시된 복사본을 사용하거나 리소스에 대한 요청을 서버로 전송하여 리소스에 대한 요청을 충족합니다. 수행된 작업은 현재 캐시 정책 및 캐시에 있는 콘텐츠의 나이에 따라 결정됩니다. 대부분의 애플리케이션에서 사용해야 하는 캐시 수준입니다.

BypassCache 1

서버를 사용하여 요청을 충족합니다. 캐시에서 항목을 가져오거나, 캐시에 추가하거나, 클라이언트와 서버 간의 캐시에서 제거되지 않습니다. 캐시에서 항목을 가져오거나, 캐시에 추가하거나, 클라이언트와 서버 간의 캐시에서 제거되지 않습니다. 이 동작은 .NET Framework와 함께 제공되는 컴퓨터 구성 파일에 지정된 기본 캐시 동작입니다.

CacheOnly 2

로컬로 캐시된 리소스를 사용하여 요청을 충족합니다. 는 캐시에 없는 항목에 대한 요청을 보내지 않습니다. 이 캐시 정책 수준을 지정 WebException 하면 항목이 클라이언트 캐시에 없는 경우 예외가 throw됩니다.

CacheIfAvailable 3

리소스를 사용할 수 있는 경우 캐시에서 리소스에 대한 요청을 충족합니다. 그렇지 않으면 리소스에 대한 요청을 서버로 보냅니다. 요청된 항목을 클라이언트와 서버 간의 모든 캐시에서 사용할 수 있는 경우 중간 캐시에서 요청을 충족할 수 있습니다.

Revalidate 4

캐시에 있는 리소스의 복사본을 서버의 복사본과 비교합니다. 서버의 복사본이 최신인 경우 요청을 충족하는 데 사용되며 캐시의 복사본을 대체합니다. 캐시의 복사본이 서버 복사본과 같으면 캐시된 복사본이 사용됩니다. HTTP 캐싱 프로토콜에서는 조건부 요청을 사용하여 이 작업을 수행합니다.

Reload 5

서버를 사용하여 요청을 충족합니다. 응답은 캐시에 저장될 수 있습니다. HTTP 캐싱 프로토콜에서 이 작업은 no-cache cache 제어 지시문 및 no-cache Pragma 헤더를 사용하여 수행됩니다.

NoCacheNoStore 6

캐시의 리소스를 사용하여 요청을 충족하지 않으며 리소스를 캐시하지 않습니다. 리소스가 로컬 캐시에 있으면 제거됩니다. 이 정책 수준은 리소스를 제거해야 하는 중간 캐시를 나타냅니다. HTTP 캐싱 프로토콜에서 이 작업은 no-cache cache 제어 지시문을 사용하여 수행됩니다.

CacheOrNextCacheOnly 7

로컬 컴퓨터의 캐시 또는 로컬 영역 네트워크의 원격 캐시에서 리소스에 대한 요청을 충족합니다. 요청을 충족할 수 없는 경우 예외가 WebException throw됩니다. HTTP 캐싱 프로토콜에서는 캐시 제어 지시문을 사용하여 only-if-cached 이 작업을 수행합니다.

Refresh 8

서버 또는 로컬 캐시 이외의 캐시를 사용하여 요청을 충족합니다. 중간 캐시에서 요청을 충족하려면 먼저 해당 캐시가 서버에 캐시된 항목의 유효성을 다시 검사해야 합니다. HTTP 캐싱 프로토콜에서 max-age = 0 캐시 제어 지시문 및 no-cache Pragma 헤더를 사용하여 이 작업을 수행합니다.

예제

다음 코드 예제에서는 애플리케이션 도메인의 캐싱 정책을 기본값으로 설정합니다.

// The following method demonstrates overriding the
// caching policy for a request.
public static WebResponse GetResponseNoCache(Uri uri)
{
    // Set a default policy level for the "http:" and "https" schemes.
    HttpRequestCachePolicy policy = new HttpRequestCachePolicy(HttpRequestCacheLevel.Default);
    HttpWebRequest.DefaultCachePolicy = policy;
    // Create the request.
    WebRequest request = WebRequest.Create(uri);
    // Define a cache policy for this request only.
    HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
    request.CachePolicy = noCachePolicy;
    WebResponse response = request.GetResponse();
    Console.WriteLine("IsFromCache? {0}", response.IsFromCache);
    return response;
}

설명

이 열거형은 개체에서 지정한 HttpRequestCachePolicy 캐시 수준을 설정하는 데 사용됩니다.

이 BypassCache 값은 .NET Framework와 함께 제공되는 컴퓨터 구성 파일에 지정된 기본 캐시 동작입니다. 캐시에서 항목을 가져오거나, 캐시에 추가하거나, 클라이언트와 서버 간의 캐시에서 제거되지 않습니다.

이 HttpWebRequest.DefaultCachePolicy 속성은 인스턴스에 대한 HttpWebRequest 기본 캐시 정책을 얻거나 설정하는 데 사용됩니다. 이 WebRequest.DefaultCachePolicy 속성은 인스턴스에 대한 WebRequest 기본 캐시 정책을 얻거나 설정하는 데 사용됩니다. 이 CachePolicy 속성은 특정 요청에 대한 캐시 정책을 얻거나 설정하는 데 사용됩니다.

리소스의 복사본은 리소스에 대한 응답 스트림을 검색하고 스트림의 끝까지 읽는 경우에만 캐시에 추가됩니다. 따라서 동일한 리소스에 대한 다른 요청은 이 요청에 대한 기본 캐시 정책 수준에 따라 캐시된 복사본을 사용할 수 있습니다.

적용 대상

추가 정보