Freigeben über


HttpResponse.AddCacheItemDependency-Methode

Macht die Gültigkeit einer zwischengespeicherten Antwort abhängig von einem weiteren Element im Cache.

Namespace: System.Web
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
Public Sub AddCacheItemDependency ( _
    cacheKey As String _
)
'Usage
Dim instance As HttpResponse
Dim cacheKey As String

instance.AddCacheItemDependency(cacheKey)
public void AddCacheItemDependency (
    string cacheKey
)
public:
void AddCacheItemDependency (
    String^ cacheKey
)
public void AddCacheItemDependency (
    String cacheKey
)
public function AddCacheItemDependency (
    cacheKey : String
)

Parameter

  • cacheKey
    Der Schlüssel des Elements, von dem die zwischengespeicherte Antwort abhängt.

Hinweise

Wenn das Element, das cacheKey entspricht, aus dem Cache entfernt wird, ist die zwischengespeicherte Antwort des aktuellen Elements ungültig.

Thema Position
Gewusst wie: Zwischenspeichern verschiedener Versionen einer Seite nach HTML-Headerwerten Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Deklaratives Festlegen der Cachefähigkeit einer ASP.NET-Seite Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Programmgesteuertes Festlegen der Cachefähigkeit einer Seite Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Zwischenspeichern der Seitenausgabe mit Dateiabhängigkeiten Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Zwischenspeichern von Versionen einer Seite mithilfe des anfordernden Browsers Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Festlegen von Ablaufzeitpunkten für das Zwischenspeichern von ASP.NET-Seiten Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Zwischenspeichern von Seitenausgaben mit Cacheschlüsselabhängigkeiten Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Abrufen von Werten von zwischengespeicherten Elementen Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Zwischenspeichern verschiedener Versionen einer Seite nach HTML-Headerwerten Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Deklaratives Festlegen der Cachefähigkeit einer ASP.NET-Seite Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Programmgesteuertes Festlegen der Cachefähigkeit einer Seite Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Zwischenspeichern der Seitenausgabe mit Dateiabhängigkeiten Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Zwischenspeichern von Versionen einer Seite mithilfe des anfordernden Browsers Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Festlegen von Ablaufzeitpunkten für das Zwischenspeichern von ASP.NET-Seiten Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Zwischenspeichern von Seitenausgaben mit Cacheschlüsselabhängigkeiten Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Abrufen von Werten von zwischengespeicherten Elementen Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Zwischenspeichern verschiedener Versionen einer Seite nach HTML-Headerwerten Erstellen von ASP.NET-Webanwendungen
Gewusst wie: Deklaratives Festlegen der Cachefähigkeit einer ASP.NET-Seite Erstellen von ASP.NET-Webanwendungen
Gewusst wie: Programmgesteuertes Festlegen der Cachefähigkeit einer Seite Erstellen von ASP.NET-Webanwendungen
Gewusst wie: Zwischenspeichern der Seitenausgabe mit Dateiabhängigkeiten Erstellen von ASP.NET-Webanwendungen
Gewusst wie: Zwischenspeichern von Versionen einer Seite mithilfe des anfordernden Browsers Erstellen von ASP.NET-Webanwendungen
Gewusst wie: Festlegen von Ablaufzeitpunkten für das Zwischenspeichern von ASP.NET-Seiten Erstellen von ASP.NET-Webanwendungen
Gewusst wie: Zwischenspeichern von Seitenausgaben mit Cacheschlüsselabhängigkeiten Erstellen von ASP.NET-Webanwendungen
Gewusst wie: Abrufen von Werten von zwischengespeicherten Elementen Erstellen von ASP.NET-Webanwendungen

Beispiel

Beim folgenden Codebeispiel handelt es sich um ein ASP.NET-Benutzersteuerelement im Ausgabecache. Der Code für das Steuerelement ruft die AddCacheItemDependency-Methode mit dem Schlüssel eines Elements auf, das im Cache-Objekt gespeichert ist, das als sein Parameter übergeben wird. Wenn das Element im Cache nicht vorhanden ist, wird die Antwort des im Ausgabecache gespeicherten Steuerelements für ungültig erklärt. Das heißt, dass bei der folgenden Anforderung dem Ausgabecache eine neue Version der Antwort des Steuerelements hinzugefügt wird.

Anschließend prüft der Code, ob ein einem bookData-Schlüssel zugeordnetes Element im Cacheobjekt gespeichert ist, worauf in Abhängigkeit vom Ergebnis eine von zwei Textzeilen angezeigt wird. Anschließend legt der Code die DataSource-Eigenschaft eines DataGrid-Steuerelements mit dem Namen dgBooks mit einem Aufruf einer benutzerdefinierten, gemeinsam genutzten GetBookData-Methode der DataHelper-Klasse fest und füllt das DataGrid mithilfe der DataBind-Methode auf.

<%@ Control Language="vb" %>
<%@ Outputcache duration="10" varybyparam="none" shared="True" %>
<%@ Import Namespace="Samples.AspNet.VB" %>
<%@ Import Namespace="System.Data" %>
<script runat="server">

    Private Sub Page_Load(sender As Object, e As System.EventArgs)
    
        ' Make user control invalid if the 
        ' cache item changes or expires.
        Response.AddCacheItemDependency("bookData")


        ' Create a DataView object.
        Dim source As DataView = Cache("bookData")
    
        ' Check if the view is stored in the cache
        ' and generate the right label text
        ' dependent upon what is returned.
        If source Is Nothing Then

           source = DataHelper.GetBookData()
           lblCacheMsg.Text = "Data generated explicitly."
        Else
           lblCacheMsg.Text = "Data retrieved from application cache."
        End If
    
        dgBooks.DataSource = source
        dgBooks.DataBind()
    
        lblOutputMessage.Text = DateTime.Now.ToString()
    End Sub

</script>

    <table>
        <tbody>
            <tr>
                <th>
                    Books</th>
                <td>
                </td>
            </tr>
            <tr>
                <td>
                    <asp:DataGrid id="dgBooks" runat="server"></asp:DataGrid>
                </td>
                <td>
                </td>
            </tr>
            <tr>
                <td>
                    <asp:Label id="lblCacheMsg" runat="server"></asp:Label>
                </td>
                <td>
                </td>
            </tr>
            <tr>
                <td>
                    The control was created at: 
                </td>
                <td>
                    <asp:Label id="lblOutputMessage" runat="server"></asp:Label>
                </td>
            </tr>
        </tbody>
    </table>
     
    <%@ Control Language="c#" %>
    <%@ Outputcache duration="10" varybyparam="none" shared="True" %>
    <%@ Import Namespace = "Samples.AspNet.CS" %>
    <%@ Import Namespace = "System.Data" %>

<script runat="server">

    private void Page_Load(object sender, System.EventArgs e)
    {
    
        // Make user control invalid if the
        // cache item changes or expires.
        Response.AddCacheItemDependency("bookData");

        // Create a DataView object.
        DataView source = (DataView)Cache["bookData"];
    
        // Check if the view is stored in the cache
        // and generate the right label text
        // dependent upon what is returned.
        if (source == null)
        {
            source = DataHelper.GetBookData();
            lblCacheMsg.Text = "Data generated explicitly.";
        }
        else
        {
            lblCacheMsg.Text = "Data retrieved from application cache.";
        }
    
        dgBooks.DataSource = source;
        dgBooks.DataBind();
    
        lblOutputMessage.Text = DateTime.Now.ToString();
    }

</script>
    <table>
        <tbody>
            <tr>
                <th>
                    Books</th>
                <td>
                </td>
            </tr>
            <tr>
                <td>
                    <asp:DataGrid id="dgBooks" runat="server"></asp:DataGrid>
                </td>
                <td>
                </td>
            </tr>
            <tr>
                <td>
                    <asp:Label id="lblCacheMsg" runat="server"></asp:Label>
                </td>
                <td>
                </td>
            </tr>
            <tr>
                <td>
                    The control was created at: 
                </td>
                <td>
                    <asp:Label id="lblOutputMessage" runat="server"></asp:Label>
                </td>
            </tr>
        </tbody>
    </table>

    <%@ Control Language="VJ#" %>
    <%@ Outputcache duration="10" varybyparam="none" shared="True" %>
    <%@ Import Namespace = "Samples.AspNet.JSL" %>
    <%@ Import Namespace = "System.Data" %>

<script runat="server">

    private void Page_Load(Object sender, System.EventArgs e)
    {
        // Make user control invalid if the
        // cache item changes or expires.
        get_Response().AddCacheItemDependency("bookData");

        // Create a DataView object.
        DataView source = (System.Data.DataView)(get_Cache()
            .get_Item("bookData"));

        // Check if the view is stored in the cache
        // and generate the right label text
        // dependent upon what is returned.
        
        if (source == null) {
            source = DataHelper.GetBookData();
            lblCacheMsg.set_Text("Data generated explicitly.");
        }
        else {
            lblCacheMsg.set_Text("Data retrieved from application cache.");
        }

        dgBooks.set_DataSource(source);
        dgBooks.DataBind();

        lblOutputMessage.set_Text(DateTime.get_Now().ToString());
    } //Page_Load

</script>
    <table>
        <tbody>
            <tr>
                <th>
                    Books</th>
                <td>
                </td>
            </tr>
            <tr>
                <td>
                    <asp:DataGrid id="dgBooks" runat="server"></asp:DataGrid>
                </td>
                <td>
                </td>
            </tr>
            <tr>
                <td>
                    <asp:Label id="lblCacheMsg" runat="server"></asp:Label>
                </td>
                <td>
                </td>
            </tr>
            <tr>
                <td>
                    The control was created at: 
                </td>
                <td>
                    <asp:Label id="lblOutputMessage" runat="server"></asp:Label>
                </td>
            </tr>
        </tbody>
    </table>

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

HttpResponse-Klasse
HttpResponse-Member
System.Web-Namespace
AddCacheItemDependency

Weitere Ressourcen

Zwischenspeichern von ASP.NET-Seiten