다음을 통해 공유


caching 요소에 대한 outputCache 요소(ASP.NET 설정 스키마)

[이 설명서는 미리 보기 전용이며, 이후 릴리스에서 변경될 수 있습니다. 비어 있는 항목은 자리 표시자로 포함됩니다.]

응용 프로그램 수준의 출력 캐시 설정을 지정합니다.

<outputCache enableOutputCache="true|false" 
             enableFragmentCache="true|false" 
             sendCacheControlHeader="true|false" 
             omitVaryStar="true|false"
             defaultProvider="AspNetInternalProvider">
</outputCache>

특성 및 요소

다음 단원에서는 특성, 자식 요소 및 부모 요소에 대해 설명합니다.

특성

특성

설명

enableOutputCache

선택적 Boolean 특성입니다.

페이지 출력 캐시를 사용하거나 사용하지 않도록 설정합니다.

페이지 출력 캐시를 사용하지 않으면 프로그래밍 방식 또는 선언적 설정에 관계없이 페이지가 캐시되지 않습니다.

기본값은 true으로,

enableFragmentCache

선택적 Boolean 특성입니다.

응용 프로그램 부분 캐시를 사용하거나 사용하지 않도록 설정합니다.

응용 프로그램 부분 캐시를 사용하지 않으면 @ OutputCache 지시문이나 사용된 캐싱 프로필에 관계없이 페이지가 캐시되지 않습니다. 업스트림 프록시 서버나 클라이언트 브라우저에서 페이지 출력 캐시를 시도하지 않도록 지시하는 cache-control 헤더가 포함됩니다.

기본값은 false으로,

sendCacheControlHeader

선택적 Boolean 특성입니다.

출력 캐시 모듈에서 cache-control:private 헤더를 기본적으로 보내는지 여부를 나타내는 값을 가져오거나 설정합니다.

기본값은 false으로,

omitVaryStar

선택적 Boolean 특성입니다.

응답에 HTTP "Vary: *" 헤더를 보내거나 보내지 않도록 설정합니다. 기본 설정인 false를 사용하면 출력 캐시된 페이지에 대해 "Vary: *" 헤더를 보냅니다.

기본값은 false으로,

defaultProvider

선택적 문자열 특성입니다.

기본 출력 캐시 공급자를 가져오거나 설정합니다.

기본값은 "AspNetInternalProvider"입니다. 이 캐시는 ASP.NET에서 제공하는 메모리 내 캐시입니다.

자식 요소

요소

설명

providers

사용자 지정 출력 캐시 공급자를 구성하는 데 사용할 수 있는 선택적 자식 요소입니다.

부모 요소

요소

설명

configuration

공용 언어 런타임 및 .NET Framework 응용 프로그램에서 사용하는 모든 구성 파일의 필수 루트 요소입니다.

system.web

구성 파일에 있는 ASP.NET 구성 설정의 루트 요소를 지정합니다. ASP.NET 웹 응용 프로그램을 구성하고 응용 프로그램의 동작 방법을 제어하는 구성 요소를 포함합니다.

caching

웹 응용 프로그램에 대한 캐시 설정을 구성합니다.

설명

기본 구성

다음의 기본 outputCache 요소는 컴퓨터 구성 파일이나 루트 Web.config 파일에 명시적으로 구성되어 있지는 않지만 .NET Framework 버전 2.0의 응용 프로그램에서 반환하는 기본 구성입니다.

<outputCache enableOutputCache = "true" 
             enableFragmentCache = "true" 
             sendCacheControlHeader = "true" 
             omitVaryStar = "false"
             defaultProvider="AspNetInternalProvider">
</outputCache>

다음 예제에서는 ASP.NET 응용 프로그램에서 출력 캐시를 사용하지 않도록 설정하는 방법을 보여 줍니다.

<outputCache enableOutputCache="false" />

확장 가능한 출력 캐싱

ASP.NET에서는 출력 캐시를 확장하고 하나 이상의 사용자 지정 출력 캐시 공급자를 구성할 수 있습니다. 출력 캐시 공급자는 모든 저장 메커니즘을 사용하여 HTML 콘텐츠를 유지할 수 있습니다. 이러한 저장 옵션에는 로컬 또는 원격 디스크, 클라우드 저장소 및 분산 캐시 엔진이 포함될 수 있습니다.

출력 캐시 공급자 확장성을 통해 웹 사이트에 대한 더욱 적극적이고 지능적인 출력 캐싱 전략을 디자인할 수 있습니다. 예를 들어 사이트의 "상위 10개" 페이지는 메모리에 캐시하고, 트래픽이 적은 페이지는 디스크에 캐시하는 출력 캐시 공급자를 만들 수 있습니다. 또는 렌더링된 페이지의 모든 변경 조합을 캐시하되, 분산 캐시를 사용하여 메모리 사용이 프런트 엔드 웹 서버에서 오프로드되도록 할 수도 있습니다.

사용자 지정 출력 캐시 공급자를 OutputCacheProvider 형식에서 파생되는 클래스로 만듭니다. 그런 다음 outputCache 요소의 providers 하위 섹션을 사용하여 Web.config 파일에서 공급자를 구성할 수 있습니다.

기본적으로 ASP.NET에서 모든 HTTP 응답, 렌더링된 페이지 및 컨트롤은 이전 예제(defaultProvider 특성이 AspNetInternalProvider로 설정됨)에 있는 메모리 내 출력 캐시를 사용합니다. defaultProvider에 다른 공급자 이름을 지정하여 웹 응용 프로그램에 사용되는 기본 출력 캐시 공급자를 변경할 수 있습니다.

또한 개별 컨트롤과 개별 요청에 대해 서로 다른 출력 캐시 공급자를 선택할 수 있습니다. 웹 사용자 정의 컨트롤마다 다른 출력 캐시 공급자를 지정하는 가장 쉬운 방법은 다음 예제와 같이 페이지 또는 컨트롤 지시문에서 새 providerName 특성을 사용하여 선언적으로 선택하는 것입니다.

<%@ OutputCache Duration="60" VaryByParam="None" 
    providerName="DiskCache" %>

HTTP 요청에 다른 출력 캐시 공급자를 지정하고 Global.asax 파일에서 새 GetOutputCacheProviderName 메서드를 재정의하여 특정 요청에 사용할 공급자를 프로그래밍 방식으로 지정할 수 있습니다.

참고 항목

작업

Walkthrough: Using Output Caching to Enhance Web Site Performance

How to: Lock ASP.NET Configuration Settings

참조

OutputCache

개념

ASP.NET Caching Overview

Securing ASP.NET Configuration

ASP.NET Configuration Scenarios

기타 리소스

Configuring ASP.NET Applications