Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

SqlDataSource.CacheExpirationPolicy-Eigenschaft

Ruft das Cacheablaufverhalten ab, das in Kombination mit der Dauer das Verhalten des vom Datenquellen-Steuerelement verwendeten Caches beschreibt.

Namespace:  System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)
public virtual DataSourceCacheExpiry CacheExpirationPolicy { get; set; }
<asp:SqlDataSource CacheExpirationPolicy="DataSourceCacheExpiry" />

Eigenschaftswert

Typ: System.Web.UI.DataSourceCacheExpiry
Einer der DataSourceCacheExpiry-Werte. Der Standardwert ist der Absolute-Wert.

Das SqlDataSource-Steuerelement unterstützt das Zwischenspeichern von Daten. Wenn Daten zwischengespeichert werden, ruft die Select-Methode Daten aus dem Cache ab (und nicht aus der zugrunde liegenden Datenbank). Wenn der Cache abläuft, ruft die Select-Methode Daten aus der zugrunde liegenden Datenbank ab und speichert diese Daten erneut im Cache.

Das Zwischenspeicherungsverhalten wird aus einer Kombination der CacheDuration-Einstellung und der CacheExpirationPolicy-Einstellung ermittelt. Wenn die CacheExpirationPolicy-Eigenschaft auf den Absolute-Wert festgelegt ist, speichert die SqlDataSource Daten ab dem ersten Datenabrufvorgang im Cache und behält diese für die von der CacheDuration-Eigenschaft angegebene Zeitspanne im Speicher. Nach Ablauf der Zeit werden die Daten verworfen. Der Cache wird dann während des nächsten Vorgangs aktualisiert. Wenn die CacheExpirationPolicy-Eigenschaft auf den Sliding-Wert festgelegt ist, speichert das Datenquellen-Steuerelement die Daten ab dem ersten Datenabrufvorgang im Cache, setzt aber das Zeitfenster für den Cache bei jedem nachfolgenden Vorgang wieder zurück. Der Cache läuft ab, wenn für einen Zeitraum seit dem letzten Select-Vorgang für eine Zeitspanne, die dem CacheDuration-Wert entspricht, keine Aktivität stattfand.

Das SqlDataSource-Steuerelement kann Daten nur zwischenspeichern, wenn es sich im DataSet-Modus befindet. Von der Select-Methode wird eine NotSupportedException-Ausnahme ausgelöst, wenn das SqlDataSource-Steuerelement auf den DataReader-Wert festgelegt wurde und die Zwischenspeicherung aktiviert ist.

SicherheitshinweisSicherheitshinweis

Wenn Sie in der Microsoft Windows-Authentifizierung mit Clientidentitätswechsel arbeiten, werden die Daten zwischengespeichert, sobald der erste Benutzer auf die Daten zugreift. Wenn ein anderer Benutzer die gleichen Daten anfordert, werden die Daten aus dem Cache abgerufen. Die Daten werden also nicht durch einen weiteren Aufruf der Datenbank abgerufen, um den Zugriff des Benutzers auf die Daten zu verifizieren. Wenn Sie den Datenzugriff von mehreren Benutzern erwarten und möchten, dass jeder Datenabruf aus der Datenbank von den Sicherheitskonfigurationen überprüft wird, sollten Sie die Funktion der Zwischenspeicherung nicht verwenden.

Im folgenden Codebeispiel wird veranschaulicht, wie Daten aus der Datenbank Northwind in Microsoft SQL Server abgerufen und bei aktivierter Zwischenspeicherung in einem GridView-Steuerelement angezeigt werden. Da die CacheExpirationPolicy-Eigenschaft auf den Sliding-Wert festgelegt wurde, werden den Benutzern keine aktualisierten Daten angezeigt, obwohl der CacheDuration-Wert 20 Sekunden beträgt. Die zwischengespeicherten Daten werden nur aktualisiert, wenn seit dem letzten Ladevorgang der Seite länger als 20 Sekunden keine Aktivität stattgefunden hat.


<!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"
                CacheExpirationPolicy="Sliding"
                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>


.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0, 2.0

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
© 2013 Microsoft. Alle Rechte vorbehalten.