방법: 요청 브라우저를 사용하여 여러 버전의 페이지 캐시

Visual Studio 2010

업데이트: 2007년 11월

웹 응용 프로그램에 포함된 페이지의 출력 결과가 요청 브라우저의 종류에 따라 다른 경우, 페이지를 요청하는 브라우저의 주 버전별로 페이지 출력 버전을 캐시할 수 있습니다. 예를 들어 Internet Explorer 6 브라우저에서 페이지를 요청할 경우에는 특정 버전의 페이지가 캐시됩니다. Internet Explorer와는 다른 버전인 Netscape Navigator 브라우저나 다른 브라우저가 페이지를 요청하면 다른 버전의 페이지가 출력 캐시에 추가됩니다.

77a0146y.alert_note(ko-kr,VS.100).gif참고:

주 버전 및 브라우저 종류 정보는 현재 요청에서 HttpBrowserCapabilities 개체의 MajorVersion 속성을 통해 전달됩니다. 자세한 내용은 방법: ASP.NET 웹 페이지에서 브라우저 종류 검색을 참조하십시오.

브라우저 종류에 따라 여러 버전의 페이지를 선언적으로 캐시하려면

  1. ASP.NET 페이지에서 필수 DurationVaryByParam 또는 VaryByControl 특성과 함께 @ OutputCache 지시문을 포함합니다. Duration 특성은 0보다 큰 정수로 설정해야 합니다. 브라우저 종류별로만 캐시하려면 VaryByParam 특성을 "None"으로 설정합니다.

  2. @ OutputCache 지시문에서 VaryByCustom 특성을 포함하고 "browser"로 설정합니다.

    다음 예제에서는 10초 동안 페이지가 캐시됩니다. 출력은 브라우저 종류에 따라 달라집니다.

    <%@ OutputCache Duration="10" VaryByParam="None" VaryByCustom="browser" %>
    

브라우저 종류에 따라 여러 버전의 페이지를 프로그래밍 방식으로 캐시하려면

  1. 페이지 코드에서 해당 페이지 Response 속성의 Cache 속성에 대해 SetExpiresSetCacheability 메서드를 호출합니다.

  2. SetVaryByCustom 메서드를 호출하고 custom 매개 변수의 값으로 "browser"를 전달합니다.

    다음 코드 예제에서는 1분 동안 여러 버전의 페이지를 캐시하는 방법을 보여 줍니다. 출력은 요청한 브라우저의 종류에 따라 달라집니다.

    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Cache.SetExpires(DateTime.Now.AddMinutes(1d));
        Response.Cache.SetCacheability(HttpCacheability.Public);
        Response.Cache.SetValidUntilExpires(true);
        Response.Cache.SetVaryByCustom("browser");
    }
    

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Response.Cache.SetExpires(DateTime.Now.AddMinutes(1.0))
        Response.Cache.SetCacheability(HttpCacheability.Public)
        Response.Cache.SetValidUntilExpires(True)
        Response.Cache.SetVaryByCustom("browser")
    End Sub
    
표시: