ControlCachePolicy.Duration Egenskap

Definition

Hämtar eller anger hur lång tid cachelagrade objekt ska finnas kvar i utdatacachen.

public:
 property TimeSpan Duration { TimeSpan get(); void set(TimeSpan value); };
public TimeSpan Duration { get; set; }
member this.Duration : TimeSpan with get, set
Public Property Duration As TimeSpan

Egenskapsvärde

En TimeSpan som representerar hur lång tid en användarkontroll ska finnas kvar i utdatacachen. Standardvärdet är Zero.

Undantag

Användarkontrollen är inte associerad med en BasePartialCachingControl och kan inte cachelagrats.

-eller-

Egenskapen Duration anges utanför initierings- och återgivningsstegen för kontrollen.

Exempel

Följande kodexempel visar hur en användarkontroll kan läsas in dynamiskt och manipuleras programmatiskt vid körning. Attributet PartialCachingAttribute tillämpas på en användarkontroll med namnet SimpleControl, vilket innebär att det omsluts av en PartialCachingControl kontroll vid körning. Objektets SimpleControl cachelagringsinställningar kan manipuleras programmatiskt via dess associerade ControlCachePolicy objekt, vilket är tillgängligt via en referens till kontrollen PartialCachingControl som omsluter det. I det här exemplet granskas egenskapen Duration under sidinitieringen och cachens giltighetstid ändras om vissa villkor uppfylls. Det här exemplet är en del av ett större exempel som tillhandahålls ControlCachePolicy för klassen.

<%@ 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>

Kommentarer

Om en absolut förfalloprincip anges med metoden SetSlidingExpirationDuration returnerar egenskapen den tid som återstår tills cacheposten upphör att gälla.

Gäller för

Se även