SqlDataSource.EnableCaching Eigenschaft

Definition

Ruft einen Wert ab, der angibt, ob für das SqlDataSource-Steuerelement die Zwischenspeicherung von Daten aktiviert ist, oder legt diesen fest.Gets or sets a value indicating whether the SqlDataSource control has data caching enabled.

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.true if data caching is enabled for the data source control; otherwise, false. Die Standardeinstellung ist false.The default is false.

Ausnahmen

Die EnableCaching-Eigenschaft wird auf true festgelegt, wenn die Zwischenspeicherung nicht von SqlDataSource unterstützt wird.The EnableCaching property is set to true when caching is not supported by the SqlDataSource.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Daten aus der Northwind-Datenbank in Microsoft SQL Server abgerufen und in einem GridView -Steuerelement angezeigt werden, wobei das Zwischenspeichern von Daten aktiviert ist.The following code example demonstrates how to retrieve data from the Northwind database in Microsoft SQL Server and display it in a GridView control, with data caching enabled. Die EnableCaching -Eigenschaft ist auf true festgelegt CacheDuration , und wird auf 20 Sekunden festgelegt.The EnableCaching property is set to true and the CacheDuration is set to 20 seconds. Da die CacheExpirationPolicy -Eigenschaft standardmäßig auf Absolute das Feld festgelegt wird, sehen Benutzer dieser Seite alle 20 Sekunden neue Daten.Because the CacheExpirationPolicy property is set to the Absolute field by default, users of this page will see fresh data every 20 seconds.

<%@ 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 das Zwischenspeichern von DatenThe SqlDataSource control supports data caching. Während die Daten zwischengespeichert werden Select , ruft die-Methode Daten aus dem Cache und nicht aus der zugrunde liegenden Datenbank ab.While data is cached, the Select method retrieves data from the cache rather than from the underlying database. Wenn der Cache abläuft, ruft Select die-Methode Daten aus der zugrunde liegenden Datenbank ab und speichert die Daten dann erneut.When the cache expires, the Select method retrieves data from the underlying database, and then caches the data again.

Das SqlDataSource -Steuerelement speichert Daten automatisch EnableCaching zwischen, wenn die true -Eigenschaft CacheDuration auf festgelegt ist und die-Eigenschaft auf einen Wert größer als 0 festgelegt ist. damit wird angegeben, wie viele Sekunden der Cache Daten vor dem Abrufen eines-Objekts speichert. neuer Satz.The SqlDataSource control automatically caches data when the EnableCaching property is set to true and the CacheDuration property is set to a value greater than 0, which indicates the number of seconds that the cache stores data before retrieving a fresh set.

Wichtig

Wenn Sie einen Client Identitätswechsel unter der Microsoft Windows-Authentifizierung verwenden, werden die Daten zwischengespeichert, wenn der erste Benutzer auf die Daten zugreift.When you are using client impersonation under Microsoft Windows authentication, the data is cached when the first user accesses the data. Wenn ein anderer Benutzer die gleichen Daten anfordert, werden die Daten aus dem Cache abgerufen.If another user requests the same data, the data is retrieved from the cache. Die Daten werden nicht durch einen weiteren Daten Bank Abruf abgerufen, um den Zugriff des Benutzers auf die Daten zu überprüfen.The data is not retrieved by making another call to the database to verify the user's access to the data. Wenn Sie davon ausgehen, dass mehr als ein Benutzer auf die Daten zugreifen muss und jeder Abruf der Daten durch die Sicherheits Konfigurationen für die Datenbank überprüft werden soll, sollten Sie die Zwischenspeicherung nicht verwenden.If you expect more than one user to access the data, and you want each retrieval to the data to be verified by the security configurations for the database, do not use caching.

Gilt für:

Siehe auch