SqlDataSource.EnableCaching Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft einen Wert ab, der angibt, ob für das SqlDataSource-Steuerelement die Zwischenspeicherung von Daten aktiviert ist, oder legt diesen fest.
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
Eigenschaftswert
true
, wenn die Zwischenspeicherung von Daten für das Datenquellen-Steuerelement aktiviert ist, andernfalls false
. Der Standardwert ist false
.
Ausnahmen
Die EnableCaching-Eigenschaft wird auf true
festgelegt, wenn die Zwischenspeicherung nicht von SqlDataSource unterstützt wird.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie Daten aus der Northwind-Datenbank in Microsoft SQL Server abgerufen und in einem GridView Steuerelement mit aktivierter Datenzwischenspeicherung angezeigt werden. Die EnableCaching -Eigenschaft ist auf true
festgelegt, und die CacheDuration ist auf 20 Sekunden festgelegt. Da die CacheExpirationPolicy Eigenschaft standardmäßig auf das Absolute Feld festgelegt ist, werden Benutzern dieser Seite alle 20 Sekunden neue Daten angezeigt.
<%@ 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>
Hinweise
Das SqlDataSource Steuerelement unterstützt die Datenzwischenspeicherung. Während daten zwischengespeichert werden, ruft die Select -Methode Daten aus dem Cache und nicht aus der zugrunde liegenden Datenbank ab. Wenn der Cache abläuft, ruft die Select Methode Daten aus der zugrunde liegenden Datenbank ab und speichert die Daten dann erneut zwischen.
Das SqlDataSource Steuerelement speichert Daten automatisch zwischen, wenn die EnableCaching Eigenschaft auf true
festgelegt ist und die CacheDuration Eigenschaft auf einen Wert größer als 0 festgelegt ist. Dies gibt die Anzahl der Sekunden an, die der Cache daten speichert, bevor ein neuer Satz abgerufen wird.
Wichtig
Wenn Sie den Clientidentitätswechsel unter der Microsoft Windows-Authentifizierung verwenden, werden die Daten zwischengespeichert, wenn der erste Benutzer auf die Daten zugreift. Wenn ein anderer Benutzer dieselben Daten anfordert, werden die Daten aus dem Cache abgerufen. Die Daten werden nicht durch einen weiteren Aufruf der Datenbank abgerufen, um den Zugriff des Benutzers auf die Daten zu überprüfen. Wenn Sie erwarten, dass mehrere Benutzer auf die Daten zugreifen und jeder Abruf der Daten von den Sicherheitskonfigurationen für die Datenbank überprüft werden soll, verwenden Sie keine Zwischenspeicherung.