Aracılığıyla paylaş


BasePartialCachingControl.CachePolicy Özellik

Tanım

ControlCachePolicy Sarmalanan kullanıcı denetimiyle ilişkili nesneyi alır.

public:
 property System::Web::UI::ControlCachePolicy ^ CachePolicy { System::Web::UI::ControlCachePolicy ^ get(); };
public System.Web.UI.ControlCachePolicy CachePolicy { get; }
member this.CachePolicy : System.Web.UI.ControlCachePolicy
Public ReadOnly Property CachePolicy As ControlCachePolicy

Özellik Değeri

ControlCachePolicy

ControlCachePolicy Sarmalanan kullanıcı denetiminin çıktı önbelleğe almayla ilgili özelliklerini depolayan.

Ö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 düzenlendiğini gösterir. Bu örnekte üç bölüm vardır:

  • Temel sınıftan LogOnControldevralan ve özniteliğinin UserControl PartialCachingAttribute uygulandığı kısmi sınıf.

  • Kısmi sınıfla LogOnControl kullanılan bir kullanıcı denetimi.

  • Kullanıcı denetimini barındıran bir Web Forms sayfası.

Bu örneği başarıyla çalıştırmak için kullanıcı denetim dosyasının (.ascx), arka planda kod dosyasının (.cs veya .vb) ve kullanıcı denetimini (.aspx) barındıran Web Forms sayfasının aynı dizinde olduğundan emin olun.

Örneğin ilk bölümünde adlı bir kullanıcı denetimine LogOnControlnasıl PartialCachingAttribute uygulandığı gösterilmektedir. Bu, kullanıcı denetiminin çalışma zamanında bir PartialCachingControl denetim tarafından sarmalandığı anlamına gelir. Nesnenin LogOnControl önbelleğe alma ayarları, ilişkili ControlCachePolicy nesnesi aracılığıyla program aracılığıyla değiştirilebilir ve bunu sarmalayan öğesine PartialCachingControl yapılan başvuru aracılığıyla kullanılabilir. Bu örnekte, önbelleğe alma ayarları sayfa başlatma sırasında incelenir ve bazı koşullar karşılanırsa değiştirilir.

using System;
using System.Web.UI;
using System.Web.UI.WebControls;

[PartialCaching(100)]
public class LogOnControl:UserControl
{
    public TextBox user;
    public TextBox password;
}
Imports System.Web.UI
Imports System.Web.UI.WebControls

<PartialCaching(100)> _
Public Class LogOnControl
   Inherits UserControl

   Public user As TextBox
   Public password As TextBox

End Class

Örneğin ikinci bölümünde, kullanıcı denetiminin önbelleğe alınmasını göstermek için önceki örnekle birlikte kullanılan bir kullanıcı denetimi gösterilir.

<%@ control inherits = "LogOnControl" src = "LogOnControl.cs" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
<form id="Form1" runat="server">
<table style="font: 10pt verdana;border-width:1;border-style:solid;border-color:black;" cellspacing="15">
<tr>
<td><b>Login: </b></td>
<td><asp:TextBox id="user" runat="server"/></td>
</tr>
<tr>
<td><b>Password: </b></td>
<td><asp:TextBox id="password" TextMode="Password" runat="server"/></td>
</tr>
<tr>
</tr>
</table>
</form>
</body>
</html>
<%@ control inherits = "LogOnControl" src = "LogOnControl.vb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
<form id="Form1" runat="server">
<table style="font: 10pt verdana;border-width:1;border-style:solid;border-color:black;" cellspacing="15">
<tr>
<td><b>Login: </b></td>
<td><ASP:TextBox id="user" runat="server"/></td>
</tr>
<tr>
<td><b>Password: </b></td>
<td><ASP:TextBox id="password" TextMode="Password" runat="server"/></td>
</tr>
<tr>
</tr>
</table>
</form>
</body>
</html>

Örneğin üçüncü bölümünde bir Web Forms sayfasından LogOnControl kullanıcı denetiminin kullanılması gösterilmektedir.

<%@ Page Language="C#" Debug = "true"%>
<%@ Reference Control="Logonformcs.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 "Logonform.ascx" and "LogOnControl.cs" 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("Logonform.cs.ascx") as PartialCachingControl;        
    
    ControlCachePolicy cacheSettings = pcc.CachePolicy;
    
    // If the control is slated to expire in greater than 60 Seconds
    if (cacheSettings.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.        
        cacheSettings.SetExpires(DateTime.Now.Add(TimeSpan.FromSeconds(30)));
        cacheSettings.SetSlidingExpiration(false);
    }                    
    Controls.Add(pcc);
}
</script>
<%@ Page Language="VB" Debug = "true"%>
<%@ Reference Control="Logonformvb.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 "Logonform.ascx" and "LogOnControl.vb" file in 
    ' the same directory as the aspx file.
    Sub Page_Init(ByVal Sender As Object, ByVal e As EventArgs)

        ' Obtain a PartialCachingControl object which wraps the 'LogOnControl' user control.
        Dim pcc As PartialCachingControl
        pcc = CType(LoadControl("Logonform.vb.ascx"), PartialCachingControl)
    
        Dim cacheSettings As ControlCachePolicy
        cacheSettings = pcc.CachePolicy
    
        ' If the control is slated to expire in greater than 60 Seconds
        If (cacheSettings.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.        
            cacheSettings.SetExpires(DateTime.Now.Add(TimeSpan.FromSeconds(30)))
            cacheSettings.SetSlidingExpiration(False)
        End If
        Controls.Add(pcc)

    End Sub ' Page_Init
              
</script>

Açıklamalar

özelliği, CachePolicy örneğin içerdiği BasePartialCachingControl kullanıcı denetimiyle ilişkili nesneye programlı erişim ControlCachePolicy sağlar. Nesne ControlCachePolicy , kullanıcı denetiminin önbelleğe alma davranışını ve ayarlarını etkilemek için program aracılığıyla değiştirilebilir.

Şunlara uygulanır

Ayrıca bkz.