방법: 매개 변수를 기반으로 여러 버전의 사용자 정의 컨트롤 캐시
업데이트: 2007년 11월
사용자 정의 컨트롤 출력에 대한 캐싱은 다음 두 가지 방법으로 변경할 수 있습니다.
쿼리 문자열이나 폼 POST 매개 변수와 함께 사용자 정의 컨트롤 이름을 지정합니다. @ OutputCache 지시문의 VaryByParam 성을 사용하여 선언적으로 지정하거나, 사용자 정의 컨트롤 코드의 PartialCachingAttribute에서 VaryByParams 속성을 설정하여 프로그래밍 방식으로 지정할 수도 있습니다.
사용자 정의 컨트롤에 포함된 ASP.NET 서버 컨트롤의 ID 속성을 지정합니다. VaryByControl 특성을 사용하여 선언적으로 지정하거나, PartialCachingAttribute에서 VaryByControls 속성을 설정하여 프로그래밍 방식으로 지정할 수도 있습니다.
참고:
사용자 정의 컨트롤이 다시 게시되거나 다시 게시 작업을 처리하는 경우에만 쿼리 문자열 또는 폼 POST 매개 변수를 기준으로 사용자 정의 컨트롤 출력이 캐시로 변경됩니다. 사용자 정의 컨트롤이 포함하는 페이지에 다시 게시되는 경우 이 형식의 사용자 정의 컨트롤 출력 캐싱이 제대로 작동하지 않습니다.
VaryByControl 특성을 사용하여 여러 버전의 사용자 정의 컨트롤을 선언적으로 캐싱하려면
다시 게시하는 사용자 정의 컨트롤을 만듭니다.
사용자 정의 컨트롤에서 Duration 및 VaryByControl 특성을 가진 @ OutputCache 지시문을 포함시킵니다.
참고:
지시문에서 VaryByControl 특성을 사용하면 VaryByParam 특성은 포함할 필요가 없지만, 포함한 경우 "None"으로 설정하면 됩니다.
VaryByControl 특성을 사용자 정의 컨트롤 출력을 변경하는 데 사용할 컨트롤의 ID로 설정합니다.
예를 들어, 다음 @ OutputCache 지시문에서는 사용자 정의 컨트롤의 만료 시간을 60초로 설정하고 컨트롤의 출력을 ID가 State인 ASP.NET 서버 컨트롤로 변경합니다.
<%@ OutputCache Duration="60" VaryByControl="State" %>
VaryByControl 속성을 사용하여 여러 버전의 사용자 정의 컨트롤을 프로그래밍 방식으로 캐싱하려면
자신으로 다시 게시되는 사용자 정의 컨트롤 코드를 코드에서 만듭니다.
PartialCachingAttribute를 사용자 정의 컨트롤 코드의 시작 부분에 포함시킵니다.
Duration 매개 변수에 대한 값을 포함시키고 VaryByControls 매개 변수를 사용자 정의 컨트롤에서 사용자 정의 컨트롤 출력의 변경 기준으로 사용할 ASP.NET 서버 컨트롤의 ID로 설정합니다.
다음 코드 예제에서는 Duration을 60초로 설정하고 VaryByControls를 State로 설정합니다. UserControl 클래스를 확장하는 코드 앞에 이 코드를 포함시켜야 합니다.
[PartialCaching(60, null, State, null)]
<PartialCaching(60, null, State, null)>
VaryByParam 특성을 사용하여 여러 버전의 사용자 정의 컨트롤을 선언적으로 캐싱하려면
자신으로 다시 게시되는 사용자 정의 컨트롤을 만듭니다.
사용자 정의 컨트롤에서 Duration 및 VaryByParam 특성을 가진 @ OutputCache 지시문을 포함시킵니다.
참고:
VaryByControl 특성을 사용자 정의 컨트롤에 대한 @ OutputCache 지시문에 포함시킨 경우에는 VaryByParam 특성을 포함시키지 않아도 됩니다.
VaryByParam 특성을 사용자 정의 컨트롤의 변경 기준이 될 GET 쿼리 문자열이나 폼 POST 매개 변수로 설정합니다.
예를 들어, 다음 @ OutputCache 지시문은 사용자 정의 컨트롤의 만료 시간을 60초로 설정하고 컨트롤의 출력을 State라는 폼 POST 또는 쿼리 문자열 매개 변수에 따라 변경합니다.
<%@ OutputCache Duration="60" VaryByParam="State" %>
VaryByParams 속성을 사용하여 여러 버전의 사용자 정의 컨트롤을 프로그래밍 방식으로 캐싱하려면
자신으로 다시 게시되는 사용자 정의 컨트롤 코드를 코드에서 만듭니다.
PartialCachingAttribute를 사용자 정의 컨트롤 코드의 시작 부분에 포함시킵니다.
Duration 매개 변수의 값을 포함시키고 VaryByParams 매개 변수를 사용자 정의 컨트롤 출력의 변경 기준이 되는 GET 쿼리 문자열이나 폼 POST 매개 변수로 설정합니다.
다음 코드 예제에서는 Duration을 60초로 설정하고 VaryByParams를 State라는 폼 POST 또는 쿼리 문자열 매개 변수로 설정합니다. UserControl 클래스를 확장하는 코드 앞에 이 코드를 포함시켜야 합니다.
[PartialCaching(60, State, null, null)]
<PartialCaching(60, State, null, null)>
참고 항목
작업
방법: 선언적 특성을 사용하여 여러 버전의 사용자 정의 컨트롤 캐시