Condividi tramite


ControlCachePolicy.SetSlidingExpiration(Boolean) Metodo

Definizione

Indica al controllo BasePartialCachingControl che esegue il wrapping del controllo utente di impostare la voce della cache del controllo utente per l'utilizzo di una scadenza assoluta o variabile.

public:
 void SetSlidingExpiration(bool useSlidingExpiration);
public void SetSlidingExpiration (bool useSlidingExpiration);
member this.SetSlidingExpiration : bool -> unit
Public Sub SetSlidingExpiration (useSlidingExpiration As Boolean)

Parametri

useSlidingExpiration
Boolean

true per utilizzare la scadenza variabile per l'inserimento di dati nella cache, altrimenti false.

Eccezioni

Il controllo utente non è associato a un oggetto BasePartialCachingControl e non può essere inserito nella cache.

Esempio

Nell'esempio di codice seguente viene illustrato il modo in cui un controllo utente può essere caricato in modo dinamico e modificato a livello di codice in fase di esecuzione. Un controllo utente denominato SimpleControl è decorato con un PartialCachingAttribute attributo , il che significa che è sottoposto a wrapping da un PartialCachingControl controllo in fase di esecuzione. Le SimpleControl impostazioni di memorizzazione nella cache dell'oggetto possono essere modificate a livello di codice tramite l'oggetto associato ControlCachePolicy , disponibile tramite un riferimento al controllo che lo esegue a PartialCachingControl capo. In questo esempio, le impostazioni di memorizzazione nella cache vengono esaminate durante l'inizializzazione della pagina e modificate se vengono soddisfatte alcune condizioni. Questo esempio fa parte di un esempio più ampio fornito per la ControlCachePolicy classe .

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

Commenti

Usare i SetExpires metodi e SetSlidingExpiration (passando true) per indicare al BasePartialCachingControl controllo che esegue il wrapping del controllo utente per usare un criterio di memorizzazione nella cache della scadenza scorrevole anziché un criterio di scadenza assoluto. Usare il SetExpires metodo e il SetSlidingExpiration metodo (passando false) per specificare un criterio di scadenza assoluto.

Si applica a

Vedi anche