SqlDataSource.EnableCaching Proprietà

Definizione

Ottiene o imposta un valore indicante se la memorizzazione di dati nella cache è abilitata nel controllo SqlDataSource.

public:
 virtual property bool EnableCaching { bool get(); void set(bool value); };
public virtual bool EnableCaching { get; set; }
member this.EnableCaching : bool with get, set
Public Overridable Property EnableCaching As Boolean

Valore della proprietà

true se la memorizzazione di dati nella cache è abilitata per il controllo origine dati; in caso contrario, false. Il valore predefinito è false.

Eccezioni

La proprietà EnableCaching viene impostata su true quando la memorizzazione nella cache non è supportata dall'oggetto SqlDataSource.

Esempio

Nell'esempio di codice seguente viene illustrato come recuperare dati dal database Northwind in Microsoft SQL Server e visualizzarlo in un GridView controllo, con memorizzazione nella cache dei dati abilitata. La EnableCaching proprietà è impostata su e l'oggetto CacheDuration è impostato su true 20 secondi. Poiché la CacheExpirationPolicy proprietà è impostata sul Absolute campo per impostazione predefinita, gli utenti di questa pagina visualizzeranno i dati aggiornati ogni 20 secondi.

<%@ Page language="C#" %>

<!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"
                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>
<%@ Page language="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 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"
                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>

Commenti

Il controllo supporta la SqlDataSource memorizzazione nella cache dei dati. Mentre i dati vengono memorizzati nella cache, il Select metodo recupera i dati dalla cache anziché dal database sottostante. Al termine della cache, il Select metodo recupera i dati dal database sottostante e quindi memorizza nuovamente nella cache i dati.

Il SqlDataSource controllo memorizza automaticamente nella cache i dati quando la EnableCaching proprietà è impostata su true e la proprietà è impostata su un valore maggiore di 0, che indica il CacheDuration numero di secondi in cui la cache archivia i dati prima di recuperare un nuovo set.

Importante

Quando si usa la rappresentazione client nell'autenticazione di Microsoft Windows, i dati vengono memorizzati nella cache 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 eseguendo un'altra chiamata al database per verificare l'accesso dell'utente ai dati. Se si prevede che più utenti accedono ai dati e si desidera che ogni recupero ai dati venga verificato dalle configurazioni di sicurezza per il database, non usare la memorizzazione nella cache.

Si applica a

Vedi anche