HttpRequestCacheLevel 열거형

정의

HTTP(Hypertext Transfer protocol)를 사용하여 가져온 리소스의 캐싱 동작을 지정합니다.

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

필드

BypassCache 1

서버를 사용하여 요청을 만족시킵니다. 클라이언트와 서버 사이의 캐시에서 어떤 항목도 가져가거나, 추가하거나, 제거하지 않습니다. 클라이언트와 서버 사이의 캐시에서 어떤 항목도 가져가거나, 추가하거나, 제거하지 않습니다. 이 동작은 .NET Framework에서 제공하는 시스템 구성 파일에 기본적으로 지정된 캐시 동작입니다.

CacheIfAvailable 3

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

CacheOnly 2

로컬로 캐시된 리소스를 사용하여 요청을 만족시키며, 캐시에 해당 항목이 없더라도 요청을 서버로 보내지는 않습니다. 이 캐시 정책 수준이 지정된 경우 클라이언트 캐시에 항목이 없으면 WebException 예외가 throw됩니다.

CacheOrNextCacheOnly 7

로컬 컴퓨터의 캐시나 LAN(Local Area Network) 상의 원격 캐시에서 리소스 요청을 만족시킵니다. 요청을 만족시킬 수 없으면 WebException 예외가 throw됩니다. HTTP 캐싱 프로토콜에서 이 작업은 only-if-cached 캐시 제어 지시문을 사용하여 수행됩니다.

Default 0

캐시된 리소스 복사본을 사용하거나 서버로 리소스 요청을 보냄으로써 리소스 요청을 만족시킵니다. 현재 캐시 정책과 콘텐츠가 캐시에 보관된 기간에 따라 수행할 작업이 결정됩니다. 대부분의 애플리케이션에서는 이 캐시 수준을 사용해야 합니다.

NoCacheNoStore 6

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

Refresh 8

서버나 로컬 캐시 이외의 캐시를 사용하여 요청을 만족시킵니다. 중간 캐시에서 요청을 만족시키려면 캐시에서 서버를 사용하여 해당 캐시 항목의 유효성을 다시 검증해야 합니다. HTTP 캐싱 프로토콜에서 이 작업은 max-age = 0 캐시 제어 지시문과 no-cache Pragma 헤더를 사용하여 수행됩니다.

Reload 5

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

Revalidate 4

서버의 복사본과 캐시에 있는 리소스의 복사본을 비교합니다. 서버의 복사본이 최신이면 요청을 처리하는 데 사용하고 캐시의 복사본을 대체합니다. 캐시의 복사본이 서버의 복사본과 동일하면 캐시된 복사본을 사용합니다. HTTP 캐싱 프로토콜에서는 조건부 요청을 사용하여 이 작업을 수행합니다.

예제

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

// The following method demonstrates overriding the
// caching policy for a request.
static WebResponse^ GetResponseNoCache( Uri^ uri )
{
   // Set a default policy level for the "http:" and "https" schemes.
   HttpRequestCachePolicy^ policy = gcnew HttpRequestCachePolicy( HttpRequestCacheLevel::Default );
   HttpWebRequest::DefaultCachePolicy = policy;

   // Create the request.
   WebRequest^ request = WebRequest::Create( uri );

   // Define a cache policy for this request only. 
   HttpRequestCachePolicy^ noCachePolicy = gcnew HttpRequestCachePolicy( HttpRequestCacheLevel::NoCacheNoStore );
   request->CachePolicy = noCachePolicy;
   WebResponse^ response = request->GetResponse();
   Console::WriteLine( L"IsFromCache? {0}", response->IsFromCache );
   
   return response;
}
// 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 속성은 특정 요청에 대한 캐시 정책을 얻거나 설정하는 데 사용됩니다.

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

적용 대상

추가 정보