HttpRequestCacheLevel 열거형
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
HTTP(하이퍼텍스트 전송 프로토콜)를 사용하여 가져온 리소스에 대한 캐싱 동작을 지정합니다.
public enum class HttpRequestCacheLevel
public enum HttpRequestCacheLevel
type HttpRequestCacheLevel =
Public Enum 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 |
| NoCacheNoStore | 6 | 캐시의 리소스를 사용하여 요청을 충족하지 않으며 리소스를 캐시하지 않습니다. 리소스가 로컬 캐시에 있으면 제거됩니다. 이 정책 수준은 리소스를 제거해야 하는 중간 캐시를 나타냅니다. HTTP 캐싱 프로토콜에서 이 작업은 no-cache cache 제어 지시문을 사용하여 수행됩니다. |
| CacheOrNextCacheOnly | 7 | 로컬 컴퓨터의 캐시 또는 로컬 영역 네트워크의 원격 캐시에서 리소스에 대한 요청을 충족합니다. 요청을 충족할 수 없는 경우 예외가 WebException throw됩니다. HTTP 캐싱 프로토콜에서는 캐시 제어 지시문을 사용하여 |
| Refresh | 8 | 서버 또는 로컬 캐시 이외의 캐시를 사용하여 요청을 충족합니다. 중간 캐시에서 요청을 충족하려면 먼저 해당 캐시가 서버에 캐시된 항목의 유효성을 다시 검사해야 합니다. HTTP 캐싱 프로토콜에서 max-age = 0 캐시 제어 지시문 및 no-cache |
예제
다음 코드 예제에서는 애플리케이션 도메인의 캐싱 정책을 기본값으로 설정합니다.
// 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 속성은 특정 요청에 대한 캐시 정책을 얻거나 설정하는 데 사용됩니다.
리소스의 복사본은 리소스에 대한 응답 스트림을 검색하고 스트림의 끝까지 읽는 경우에만 캐시에 추가됩니다. 따라서 동일한 리소스에 대한 다른 요청은 이 요청에 대한 기본 캐시 정책 수준에 따라 캐시된 복사본을 사용할 수 있습니다.