다음을 통해 공유


ControlCachePolicy.SetSlidingExpiration(Boolean) 메서드

정의

사용자 정의 컨트롤의 캐시 엔트리에 상대(sliding) 만료 또는 절대 만료를 사용하도록 사용자 정의 컨트롤을 래핑하는 BasePartialCachingControl 컨트롤에 지시합니다.

public:
 void SetSlidingExpiration(bool useSlidingExpiration);
public void SetSlidingExpiration (bool useSlidingExpiration);
member this.SetSlidingExpiration : bool -> unit
Public Sub SetSlidingExpiration (useSlidingExpiration As Boolean)

매개 변수

useSlidingExpiration
Boolean

절대 만료 대신 슬라이딩 캐시 만료를 사용하려면 true이고, 그렇지 않으면 false입니다.

예외

사용자 정의 컨트롤이 BasePartialCachingControl과 연결되어 있지 않아 캐시할 수 없는 경우

예제

다음 코드 예제에는 사용자 정의 컨트롤 수 동적으로 로드 및 런타임에 프로그래밍 방식으로 조작 하는 방법을 보여 줍니다. 명명 된 사용자 정의 컨트롤 SimpleControl 으로 데코 레이트 된를 PartialCachingAttribute 특성, 즉 래핑되는 PartialCachingControl 런타임 시 컨트롤입니다. SimpleControl 개체의 캐싱 설정을 프로그래밍 방식으로 수 해당 연결을 통해 조작 ControlCachePolicy 개체에 대 한 참조를 통해 제공 되는 PartialCachingControl 를 래핑하는 컨트롤입니다. 이 예제에서는 캐싱 설정은 페이지 초기화 동안 검사할 이며 일부 조건이 충족 될 경우 변경 합니다. 이 예제는에 대해 제공 된 큰 예제의 일부는 ControlCachePolicy 클래스입니다.

<%@ Page Language="C#" %>
<%@ Reference Control="SimpleControl.ascx" %>
<script language="C#" runat="server">

// The following example demonstrates how to load a user control dynamically at run time, and
// work with the ControlCachePolicy object associated with it.

// Loads and displays a UserControl defined in a seperate Logonform.ascx file.
// You need to have "SimpleControl.ascx" file in 
// the same directory as the aspx file. 

void Page_Init(object sender, System.EventArgs e) {
    
    // Obtain a PartialCachingControl object which wraps the 'LogOnControl' user control.
    PartialCachingControl pcc = LoadControl("SimpleControl.ascx") as PartialCachingControl;        
    
    // If the control is slated to expire in greater than 60 Seconds
    if (pcc.CachePolicy.Duration > TimeSpan.FromSeconds(60) ) 
    {        
        // Make it expire faster. Set a new expiration time to 30 seconds, and make it
        // an absolute expiration if it isnt already.        
        pcc.CachePolicy.SetExpires(DateTime.Now.Add(TimeSpan.FromSeconds(30)));
        pcc.CachePolicy.SetSlidingExpiration(false);
    }                    
    Controls.Add(pcc);
}
</script>
<%@ Page Language="VB" %>
<%@ Reference Control="SimpleControl.ascx" %>
<script language="VB" runat="server">

    ' The following example demonstrates how to load a user control dynamically at run time, and
    ' work with the ControlCachePolicy object associated with it.

    ' Loads and displays a UserControl defined in a seperate Logonform.ascx file.
    ' You need to have "SimpleControl.ascx" file in 
    ' the same directory as the aspx file. 

    Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs)
    
        ' Obtain a PartialCachingControl object which wraps the 'LogOnControl' user control.
        Dim pcc As PartialCachingControl
        pcc = LoadControl("SimpleControl.ascx")
    
        ' If the control is slated to expire in greater than 60 Seconds
        If (pcc.CachePolicy.Duration > TimeSpan.FromSeconds(60)) Then
            ' Make it expire faster. Set a new expiration time to 30 seconds, and make it
            ' an absolute expiration if it isnt already.        
            pcc.CachePolicy.SetExpires(DateTime.Now.Add(TimeSpan.FromSeconds(30)))
            pcc.CachePolicy.SetSlidingExpiration(False)
        End If
        Controls.Add(pcc)
    End Sub
</script>

설명

사용 합니다 SetExpiresSetSlidingExpiration 메서드 (전달 true) 지시 하는 BasePartialCachingControl 캐싱 정책은 절대 만료 정책 대신에 상대 (sliding) 만료가 사용 하 여 사용자 정의 컨트롤을 래핑하는 컨트롤입니다. 사용 합니다 SetExpires 메서드 및 SetSlidingExpiration 메서드 (전달 false) 절대 만료 정책을 지정 합니다.

적용 대상

추가 정보