ASP.NET의 캐시 구성

Visual Studio 2010

업데이트: 2007년 11월

ASP.NET에서는 페이지 출력 캐싱 및 캐시 API를 구성할 수 있는 다양한 옵션을 제공합니다. 페이지 응답이 처리된 후 페이지 출력 캐시를 사용하여 페이지 응답을 캐시하고 캐시 API를 사용하여 응용 프로그램 데이터를 프로그래밍 방식으로 캐시합니다. 자세한 내용은 ASP.NET 캐싱 개요를 참조하십시오.

다음과 같은 위치에서 페이지 출력 캐싱을 구성할 수 있습니다.

  • 구성 파일   Machine.config 파일(컴퓨터의 모든 웹 응용 프로그램에 대한 설정용)과 응용 프로그램별 Web.config 파일(단일 응용 프로그램에 대한 설정용)을 포함한 모든 구성 파일에서 응용 프로그램 구성 계층 구조에 페이지 출력 캐시 설정을 구성할 수 있습니다.

  • 개별 페이지   개별 페이지에 선언적으로 또는 프로그래밍 방식으로 캐싱 옵션을 설정할 수 있습니다. 또한 구성 파일에서 만든 캐시 프로필을 개별 페이지에 적용할 수도 있습니다.

  • 사용자 정의 컨트롤   개별 사용자 정의 컨트롤에 선언적으로 또는 프로그래밍 방식으로 캐싱을 설정할 수 있습니다. 이 방법을 사용하면 다른 경우에는 캐시되지 않는 페이지 내용을 쉽게 캐시할 수 있습니다.

Web.config 캐시 구성 설정

Web.config 파일에는 페이지 출력 캐시에 대해 OutputCacheSectionOutputCacheSettingsSection이라는 두 개의 최상위 구성 섹션이 있습니다.

OutputCacheSection 섹션은 페이지 출력 캐싱이 사용되는지 여부와 같은 응용 프로그램 범위 설정을 구성하는 데 사용됩니다. 예를 들어 Web.config 파일의 OutputCacheSectionenableOutputCache="false"를 추가하여 전체 응용 프로그램에 대해 페이지 출력 캐싱을 사용하지 않도록 설정할 수 있습니다. 구성 파일의 설정은 개별 페이지의 캐시 설정보다 우선 순위가 높으므로 예제 설정에서는 출력 캐시가 사용되지 않습니다.

OutputCacheSettingsSection은 개별 페이지에서 사용할 수 있는 프로필과 종속성을 구성하는 데 사용됩니다. 예를 들어 다음 코드는 60초 동안 구현 페이지를 캐시할 OutputCacheProfile(CacheProfile1)을 만듭니다.

<outputCacheSettings>
  <outputCacheProfiles>
    <add name="CacheProfile1" duration="60" />
  </outputCacheProfiles>
</outputCacheSettings>

Machine.config 캐시 구성 설정

Machine.config 파일의 구성 섹션은 Web.config 파일의 구성 섹션과 같지만 Machine.config 파일의 구성 설정을 모든 수준의 개별 응용 프로그램으로 재정의할 수 없도록 잠글 수 있다는 점이 다릅니다. 호스터가 개별 응용 프로그램에서 캐시 구성을 수정하지 않도록 하려는 공유 호스팅 시나리오의 경우를 예로 들 수 있습니다. 자세한 내용은 방법: ASP.NET 구성 설정 잠금을 참조하십시오.

페이지 캐시 구성 설정

구성 파일에 정의된 캐시 프로필을 적용하여 개별 페이지에 캐싱을 구성할 수 있습니다. 또는 @ OutputCache 지시문을 사용하거나 페이지의 클래스 정의에 특성을 설정하여 개별 캐시 속성을 구성할 수 있습니다. 자세한 내용은 @ OutputCache페이지의 캐시 가능성 설정을 참조하십시오.

사용자 정의 컨트롤 캐시 구성 설정

사용자 정의 컨트롤 파일에 @ OutputCache 지시문을 설정하거나 컨트롤의 클래스 정의에 PartialCachingAttribute 특성을 설정하여 사용자 정의 컨트롤 캐싱을 구성할 수 있습니다. 자세한 내용은 ASP.NET 페이지의 부분 캐싱을 참조하십시오.

Web.config 파일에 응용 프로그램의 캐시 API를 구성할 수 있습니다. 페이지 출력 캐시와 마찬가지로 응용 프로그램 호스터에서는 Machine.config 파일에 구성 속성을 설정하고 모든 응용 프로그램에 대해 캐시 구성 설정을 잠글 수 있습니다. 응용 프로그램 캐시 API는 CacheSection에 구성됩니다. 예를 들어 다음과 같은 구성 요소를 사용하여 항목 만료를 해제할 수 있습니다.

<cache disableExpiration="true" />

구성 파일의 CacheSection에서 DisableExpirationDisableMemoryCollection 같은 특성에 값을 할당하여 다른 응용 프로그램 캐시 API 구성 설정을 지정할 수도 있습니다.

표시: