ControlCachePolicy.Duration Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft ab oder legt fest, wie lange zwischengespeicherte Elemente im Ausgabecache verbleiben sollen.
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
A TimeSpan that represents the amount of time a user control is to remain in the output cache. Der Standardwert lautet Zero.
Ausnahmen
Das Benutzersteuerelement ist keinem BasePartialCachingControl Benutzer zugeordnet und kann nicht zwischengespeichert werden.
- oder -
Die Duration Eigenschaft wird außerhalb der Initialisierungs- und Renderingphasen des Steuerelements festgelegt.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie ein Benutzersteuerelement dynamisch geladen und programmgesteuert zur Laufzeit bearbeitet werden kann. Das PartialCachingAttribute Attribut wird auf ein Benutzersteuerelement mit dem Namen SimpleControlangewendet, was bedeutet, dass es zur Laufzeit von einem PartialCachingControl Steuerelement umschlossen wird. Die SimpleControl Zwischenspeicherungseinstellungen des Objekts können programmgesteuert über das zugeordnete ControlCachePolicy Objekt bearbeitet werden, das über einen Verweis auf das PartialCachingControl Steuerelement verfügbar ist, das es umschließt. In diesem Beispiel wird die Eigenschaft während der Seiteninitialisierung untersucht und der Duration 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 eine absolute Ablaufrichtlinie mithilfe der SetSlidingExpiration Methode festgelegt wird, gibt die Duration Eigenschaft die verbleibende Zeit bis zum Ablauf des Cacheeintrags zurück.