SqlDataSource.EnableCaching Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.