Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Proprietà SqlDataSource.CacheExpirationPolicy

 

Data di pubblicazione: ottobre 2016

Ottiene o imposta il comportamento di scadenza della cache che, in combinazione con la durata, viene descritto il comportamento della cache che utilizza il controllo origine dati.

Spazio dei nomi:   System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)

public virtual DataSourceCacheExpiry CacheExpirationPolicy { get; set; }

Valore proprietà

Type: System.Web.UI.DataSourceCacheExpiry

Uno dei valori di DataSourceCacheExpiry. Il valore predefinito è il Absolute valore.

Il SqlDataSource controllo supporta la memorizzazione nella cache di dati. Quando vengano memorizzato nella cache di dati, il Select metodo recupera i dati dalla cache piuttosto che dal database sottostante. Quando la cache scade, il Select metodo recupera i dati dal database sottostante e li memorizza nella cache i dati.

Il comportamento della cache è determinato da una combinazione di CacheDuration e CacheExpirationPolicy le impostazioni. Se il CacheExpirationPolicy è impostata sul Absolute valore, il SqlDataSource memorizza nella cache i dati nella prima operazione di recupero di dati, li mantiene in memoria per la quantità di tempo specificato dalla CacheDuration proprietà, quindi li elimina una volta trascorso il tempo. La cache viene aggiornata durante l'operazione successiva. Se il CacheExpirationPolicy è impostata sul Sliding valore, il controllo origine dati memorizza i dati nella prima operazione di recupero di dati, ma reimposta l'intervallo di tempo che vengono mantenuti nella cache per ogni operazione successiva. La cache scade, se non esiste alcuna attività per un periodo di tempo uguale per il CacheDuration dopo l'ultimo valore Select operazione.

Il SqlDataSource controllo può memorizzare dati nella cache solo quando nel DataSet modalità. Un NotSupportedException viene generata dal Select (metodo), se il SqlDataSource NFS è impostata sul DataReader valore e la memorizzazione nella cache viene inoltre attivata.

System_CAPS_security Sicurezza Nota

Quando si utilizza la rappresentazione del client con l'autenticazione di Microsoft Windows, viene memorizzato nella cache i dati quando il primo utente accede ai dati. Se un altro utente richiede gli stessi dati, i dati vengono recuperati dalla cache. I dati non vengono recuperati effettuando un'altra chiamata al database per verificare l'accesso dell'utente ai dati. Se si prevede più di un utente per accedere ai dati e si desidera che ogni recupero di dati da verificare con configurazioni di sicurezza per il database, non utilizzare la memorizzazione nella cache.

Esempio di codice riportato di seguito viene illustrato come recuperare i dati dal database Northwind in Microsoft SQL Server e visualizzarli in un GridView controllo con abilitata la memorizzazione nella cache dei dati. Poiché il CacheExpirationPolicy è impostata sul Sliding valore, non sarà possibile visualizzare dati aggiornati anche se il CacheDuration è 20 secondi. I dati memorizzati nella cache vengono aggiornati solo se non esiste alcuna attività nella pagina per più di 20 secondi dall'ultimo caricamento della pagina.

<!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 runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
        <form id="form1" runat="server">

            <asp:SqlDataSource
                id="SqlDataSource1"
                runat="server"
                DataSourceMode="DataSet"
                ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
                EnableCaching="True"
                CacheDuration="20"
                CacheExpirationPolicy="Sliding"
                SelectCommand="SELECT EmployeeID,FirstName,LastName,Title FROM Employees">
            </asp:SqlDataSource>

            <asp:GridView
                id="GridView1"
                runat="server"
                AutoGenerateColumns="False"
                DataSourceID="SqlDataSource1">
                <columns>
                    <asp:BoundField HeaderText="First Name" DataField="FirstName" />
                    <asp:BoundField HeaderText="Last Name" DataField="LastName" />
                    <asp:BoundField HeaderText="Title" DataField="Title" />
                </columns>
            </asp:GridView>

        </form>
    </body>
</html>

.NET Framework
Disponibile da 2.0
Torna all'inizio
Mostra: