다음을 통해 공유


ControlCachePolicy.SetExpires(DateTime) 메서드

정의

지정한 날짜 및 시간에 캐시 엔트리를 만료하도록 사용자 정의 컨트롤을 래핑하는 BasePartialCachingControl 컨트롤에 지시합니다.

public:
 void SetExpires(DateTime expirationTime);
public void SetExpires (DateTime expirationTime);
member this.SetExpires : DateTime -> unit
Public Sub SetExpires (expirationTime As DateTime)

매개 변수

expirationTime
DateTime

캐시된 엔트리가 만료되는 DateTime입니다.

예외

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

예제

다음 코드 예제에는 사용자 정의 컨트롤 수 동적으로 로드 및 런타임에 프로그래밍 방식으로 조작 하는 방법을 보여 줍니다. 합니다 PartialCachingAttribute 특성이 라는 사용자 정의 컨트롤에 적용 되 SimpleControl, 래핑되는 즉, 사용자 정의 컨트롤을 PartialCachingControl 런타임 시 컨트롤입니다. SimpleControl 개체의 캐싱 설정을 프로그래밍 방식으로 수 해당 연결을 통해 조작 ControlCachePolicy 개체에 대 한 참조를 통해 제공 되는 PartialCachingControl 를 래핑하는 컨트롤입니다. 이 예제에서는 합니다 Duration 페이지 초기화 및 사용 하 여 변경 하는 동안 속성을 검사 합니다 SetSlidingExpirationSetExpires 메서드 일부 조건이 충족 될 경우. 이 예제는에 대해 제공 된 큰 예제의 일부는 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) 절대 만료 정책을 지정 합니다.

적용 대상

추가 정보