다음을 통해 공유


방법: 캐시 키 종속성을 사용하여 페이지 출력 캐시

업데이트: 2007년 11월

캐시의 다른 항목이 제거될 경우 출력 캐시에서 페이지를 제거할 수도 있습니다. 프로세스를 많이 사용하고 응용 프로그램 캐시에 추가되어 여러 페이지에 사용되는 보고서를 표시하는 페이지를 예로 들 수 있습니다. 보고서가 변경되거나 캐시에서 제거되면 이 보고서가 더 이상 유효하지 않으므로 캐시에서 페이지 출력도 제거할 수 있습니다. 이렇게 하려면 캐시된 다른 항목에 종속되는 페이지 출력을 캐시할 수 있습니다.

참고:

RemoveOutputCacheItem 메서드를 호출하여 페이지를 출력 캐시에서 명시적으로 제거할 수 있습니다. 이 작업은 응용 프로그램의 필요에 따라 Global.asax 파일, 사용자 지정 ASP.NET 서버 컨트롤 또는 페이지에서 수행할 수 있습니다.

다른 캐시 항목에 종속되는 페이지 출력을 캐시하려면

  1. 페이지에서 선언적으로 또는 프로그래밍 방식으로 캐시 설정을 지정합니다. 자세한 내용은 방법: ASP.NET 페이지 캐싱에 대한 만료 값 설정, 페이지의 캐시 가능성 설정여러 버전의 페이지 캐싱을 참조하십시오.

  2. 페이지 코드에서 AddCacheItemDependency 메서드를 호출합니다. 그런 다음 종속성을 만들 캐시 항목의 이름을 cacheKey 매개 변수로 전달합니다.

    다음 코드 예제에서는 ProcessIntensiveReport라는 항목에 종속성을 설정하는 방법을 보여 줍니다. 이 항목이 수정되거나 제거되면 페이지 출력이 캐시에서 제거됩니다.

    protected void Page_Load(object sender, EventArgs e)
    {
        Response.AddCacheItemDependency("ProcessIntensiveReport");
    
        // Set additional properties to enable caching.
        Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));
        Response.Cache.SetCacheability(HttpCacheability.Public);
        Response.Cache.SetValidUntilExpires(true);
    }
    
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Response.AddCacheItemDependency("ProcessIntensiveReport")
    
        ' Set additional properties to enable caching.
        Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
        Response.Cache.SetCacheability(HttpCacheability.Public)
        Response.Cache.SetValidUntilExpires(True)
    End Sub
    
    참고:

    ASP.NET 사용자 정의 컨트롤에서는 AddCacheItemDependency 메서드를 호출할 수 없습니다. 그러나 @ OutputCache 지시문을 지정하는 사용자 정의 컨트롤에서는 캐시 키 종속성을 설명하는 CacheDependency 개체를 만든 다음 UserControl 개체의 Dependency 속성에 할당할 수 있습니다.

참고 항목

작업

방법: 프로그래밍 방식으로 페이지의 캐시 가능성 설정

개념

ASP.NET 페이지 캐싱

페이지의 캐시 가능성 설정