SqlDataSource.EnableCaching Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het SqlDataSource besturingselement gegevenscache heeft ingeschakeld.
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
Waarde van eigenschap
true als gegevenscache is ingeschakeld voor het besturingselement voor de gegevensbron; anders, false. De standaardwaarde is false.
Uitzonderingen
De EnableCaching eigenschap wordt ingesteld op true wanneer caching niet wordt ondersteund door de SqlDataSource.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u gegevens ophaalt uit de Northwind-database in Microsoft SQL Server en weergeeft in een besturingselement GridView, waarbij gegevenscache is ingeschakeld. De EnableCaching eigenschap is ingesteld op true en de CacheDuration eigenschap is ingesteld op 20 seconden. Omdat de CacheExpirationPolicy eigenschap standaard is ingesteld op het Absolute veld, zien gebruikers van deze pagina elke 20 seconden nieuwe gegevens.
<%@ 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>
Opmerkingen
Het SqlDataSource besturingselement ondersteunt het opslaan van gegevens in cache. Terwijl gegevens in de cache worden opgeslagen, haalt de Select methode gegevens op uit de cache in plaats van uit de onderliggende database. Wanneer de cache verloopt, haalt de Select methode gegevens op uit de onderliggende database en slaat de gegevens vervolgens opnieuw in de cache op.
Het SqlDataSource besturingselement slaat automatisch gegevens in de cache op wanneer de EnableCaching eigenschap is ingesteld true en de CacheDuration eigenschap is ingesteld op een waarde die groter is dan 0, wat het aantal seconden aangeeft dat de cache gegevens opslaat voordat een nieuwe set wordt opgehaald.
Important
Wanneer u clientimitatie onder Microsoft Windows authentication gebruikt, worden de gegevens in de cache opgeslagen wanneer de eerste gebruiker toegang heeft tot de gegevens. Als een andere gebruiker dezelfde gegevens aanvraagt, worden de gegevens opgehaald uit de cache. De gegevens worden niet opgehaald door een andere aanroep naar de database uit te voeren om de toegang van de gebruiker tot de gegevens te verifiëren. Als u verwacht dat meer dan één gebruiker toegang heeft tot de gegevens en u wilt dat de gegevens worden opgehaald door de beveiligingsconfiguraties voor de database, gebruikt u geen caching.