BasePartialCachingControl.CachePolicy Eigenschaft

Definition

Ruft das ControlCachePolicy-Objekt ab, das dem umschlossenen Benutzersteuerelement zugeordnet ist.Gets the ControlCachePolicy object that is associated with the wrapped user control.

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

Eigenschaftswert

Eine ControlCachePolicy, in der die Ausgabe von cacherelevanten Eigenschaften des umschlossenen Benutzersteuerelements gespeichert werden.A ControlCachePolicy that stores output caching-related properties of the wrapped user control.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie ein Benutzer Steuerelement dynamisch geladen und zur Laufzeit Programm gesteuert bearbeitet werden kann.The following code example demonstrates how a user control can be loaded dynamically and manipulated programmatically at run time. Dieses Beispiel besteht aus drei Teilen:This example has three parts:

  • Eine partielle Klasse LogOnControl,, die von der UserControl -Basisklasse erbt und auf PartialCachingAttribute die das-Attribut angewendet wird.A partial class, LogOnControl, that inherits from the UserControl base class and to which the PartialCachingAttribute attribute is applied.

  • Ein Benutzer Steuerelement, das mit der LogOnControl partiellen Klasse verwendet wird.A user control that is used with the LogOnControl partial class.

  • Eine Web Forms Seite, die das Benutzer Steuerelement hostet.A Web Forms page that hosts the user control.

Um dieses Beispiel erfolgreich auszuführen, stellen Sie sicher, dass sich die Benutzer Steuerelement Datei (ASCX), die zugehörige Code Behind-Datei (. cs oder. vb) und die Web Forms Seite, die das Benutzer Steuerelement (. aspx) hostet, im gleichen Verzeichnis befinden.To run this example successfully, make sure the user control file (.ascx), its code-behind file (.cs or .vb), and the Web Forms page that hosts the user control (.aspx) are in the same directory.

Der erste Teil des Beispiels zeigt, wie auf PartialCachingAttribute ein Benutzer Steuerelement mit dem Namen LogOnControlangewendet wird. das bedeutet, dass das Benutzer Steuer PartialCachingControl Element zur Laufzeit von einem Steuerelement umschließt wird.The first part of the example demonstrates how the PartialCachingAttribute is applied to a user control named LogOnControl, which means the user control is wrapped by a PartialCachingControl control at run time. Die LogOnControl zwischen Speicherungs Einstellungen des Objekts können Programm gesteuert über ControlCachePolicy das zugeordnete-Objekt manipuliert werden, das über einen Verweis PartialCachingControl auf das-Objekt verfügbar ist, das es umschließt.The LogOnControl object's caching settings can be programmatically manipulated through its associated ControlCachePolicy object, which is available through a reference to the PartialCachingControl that wraps it. In diesem Beispiel werden zwischen Speicherungs Einstellungen während der Seiten Initialisierung überprüft und geändert, wenn bestimmte Bedingungen erfüllt sind.In this example, caching settings are examined during page initialization and changed if some conditions are met.

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

Der zweite Teil des Beispiels zeigt ein Benutzer Steuerelement, das mit dem vorherigen Beispiel verwendet wird, um das Zwischenspeichern von Benutzer Steuerelementen zu veranschaulichen.The second part of the example shows a user control that is used with the previous example to demonstrate user control caching.

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

Der dritte Teil des Beispiels veranschaulicht die Verwendung des LogOnControl Benutzer Steuer Elements von einer Web Forms Seite aus.The third part of the example demonstrates using the LogOnControl user control from a Web Forms page.

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

Hinweise

Die CachePolicy -Eigenschaft ermöglicht programmgesteuerten Zugriff ControlCachePolicy auf das-Objekt, das dem in der BasePartialCachingControl -Instanz enthaltenen Benutzer Steuerelement zugeordnet ist.The CachePolicy property enables programmatic access to the ControlCachePolicy object associated with the user control contained by the BasePartialCachingControl instance. Das ControlCachePolicy Objekt kann Programm gesteuert manipuliert werden, um das zwischen Speicherungs Verhalten und die Einstellungen eines Benutzer Steuer Elements zu beeinflussen.The ControlCachePolicy object can be programmatically manipulated to influence a user control's caching behavior and settings.

Gilt für:

Siehe auch