Freigeben über


ControlCachePolicy.Duration Eigenschaft

Definition

Ruft die Zeitspanne ab, die zwischengespeicherte Elemente im Ausgabecache verbleiben, oder legt diese fest.

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

Eigenschaftswert

Eine TimeSpan, die die Zeitspanne darstellt, für die ein Benutzersteuerelement im Ausgabecache verbleibt. Der Standardwert ist Zero.

Ausnahmen

Das Benutzersteuerelement ist keinem BasePartialCachingControl zugeordnet und kann nicht zwischengespeichert werden.

- oder -

Die Duration-Eigenschaft wird außerhalb der Initialisierungs- und Darstellungsphasen des Steuerelements festgelegt.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie ein Benutzersteuerelement zur Laufzeit dynamisch geladen und programmgesteuert bearbeitet werden kann. Das PartialCachingAttribute Attribut wird auf ein Benutzersteuerelement mit dem Namen SimpleControlangewendet, d. h., es wird zur Laufzeit von einem PartialCachingControl -Steuerelement umschlossen. Die SimpleControl Zwischenspeicherungseinstellungen des Objekts können programmgesteuert über das zugehörige ControlCachePolicy Objekt bearbeitet werden, das über einen Verweis auf das Steuerelement verfügbar ist, das PartialCachingControl es umschließt. In diesem Beispiel wird die Eigenschaft während der Duration Seiteninitialisierung untersucht, und der Cacheablauf wird geändert, wenn einige Bedingungen erfüllt sind. Dieses Beispiel ist Teil eines größeren Beispiels, das für die ControlCachePolicy -Klasse bereitgestellt wird.

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

Hinweise

Wenn mithilfe der SetSlidingExpiration -Methode eine absolute Ablaufrichtlinie festgelegt wird, gibt die Duration Eigenschaft die verbleibende Zeit bis zum Ablauf des Cacheeintrags zurück.

Gilt für:

Weitere Informationen