ControlCachePolicy.Duration Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Önbelleğe alınan öğelerin çıkış önbelleğinde kalacağı süreyi alır veya ayarlar.
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
Özellik Değeri
Bir TimeSpan kullanıcı denetiminin çıkış önbelleğinde kalma süresini temsil eden bir. Varsayılan değer: Zero.
Özel durumlar
Kullanıcı denetimi ile BasePartialCachingControl ilişkilendirilmemiş ve önbelleğe alınamaz.
-veya-
Duration özelliği, denetimin başlatma ve işleme aşamalarının dışında ayarlanır.
Örnekler
Aşağıdaki kod örneği, bir kullanıcı denetiminin çalışma zamanında dinamik olarak nasıl yüklendiğini ve program aracılığıyla nasıl değiştirilebileceğini gösterir.
PartialCachingAttribute özniteliği adlı SimpleControl
bir kullanıcı denetimine uygulanır, bu da çalışma zamanında bir PartialCachingControl denetim tarafından sarmalandığı anlamına gelir. Nesnenin SimpleControl
önbelleğe alma ayarları, ilişkili ControlCachePolicy nesnesi aracılığıyla program aracılığıyla işlenebilir ve bunu sarmalayan denetime PartialCachingControl yapılan başvuru aracılığıyla kullanılabilir. Bu örnekte, Duration özellik sayfa başlatma sırasında incelenir ve bazı koşullar karşılanırsa önbellek süre sonu değiştirilir. Bu örnek, sınıfı için ControlCachePolicy sağlanan daha büyük bir örneğin bir parçasıdır.
<%@ 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>
Açıklamalar
Yöntemi kullanılarak SetSlidingExpiration mutlak bir süre sonu ilkesi ayarlanırsa, Duration özellik önbellek girdisinin süre sonu gelene kadar kalan süreyi döndürür.