Gewusst wie: Verbessern der Leistung durch Zwischenspeichern von Seiten in ASP.NET

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 315896 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel veranschaulicht die Leistung von ASP.NET-Anwendungen durch Zwischenspeicherung gesamte ASP.NET-Seiten mit der Seite @ OutputCache -Direktive verbessern. Sie können auch die @ OutputCache -Seitendirektive bestimmter Teile einer ASP.NET-Seite zwischenspeichern, obwohl in diesem Artikel nicht diese Implementierung zeigen wird.

Voraussetzungen

Die folgende Liste führt die empfohlene Hardware, Software, Netzwerkinfrastruktur und Servicepacks, die Sie benötigen:
  • Microsoft Visual Studio .NET
  • Microsoft Internet Information Server (IIS) 4.0 oder Microsoft Internet Information Services (IIS) 5.0
In diesem Artikel wird vorausgesetzt, dass Sie über Erfahrungen auf den folgenden Gebieten verfügen:
  • Webanwendungen
  • Microsoft ASP.NET

Beschreibung der Technik

Wenn Sie Informationen zwischenspeichern, platzieren Sie die Informationen im Arbeitsspeicher. Normalerweise, wenn IIS eine Anforderung für eine Seite empfängt, IIS die Seite von der Festplatte liest und sendet dann die Seite. Manchmal können IIS automatisch Informationen im Arbeitsspeicher zum Verbessern der Leistung speichern. Die @ OutputCache -Direktive können Sie eine Seite im Speicher, halten, selbst wenn die Seite nicht die Kriterien passt, mit denen IIS welche Informationen bestimmt er im Speicher enthält.

Beispielsweise werden Seiten, die eine Datenbank zugreifen führen Sie erneut jedes Mal Sie durchsuchen auf der Seite um die neuesten Daten zu erhalten. Wenn Sie die @ OutputCache -Direktive verwenden, wird mit den Ergebnissen einer Abfrage an die Datenbank bis zum Ablauf des angegebenen Zeitraums die Seite im Arbeitsspeicher gespeichert. Die @ OutputCache -Direktive können Sie daher vermeiden, die Datenbank bei jedem Benutzer die Seite durchsuchender Abfragen. Dies ist sehr nützlich für Daten, die nicht häufig ändern.

Erstellen einer ASP.NET-Webanwendung, @ OutputCache verwendet

In diesem Abschnitt erstellen Sie eine ASP.NET-Webanwendung, die @ OutputCache -Seitendirektive, verwendet um die Seite für einen bestimmten Zeitraum zwischenzuspeichern.
  1. Gehen Sie zur Erstellung einer neuen ASP.NET-Webanwendung in Visual Basic .NET folgendermaßen vor:
    1. Öffnen Sie Visual Studio .NET.
    2. Zeigen im Menü Datei auf neu , und klicken Sie dann auf Projekt .
    3. Klicken Sie im Dialogfeld Neues Projekt klicken Sie unter Projekttypen auf Visual Basic-Projekte , und klicken Sie dann unter Vorlagen auf ASP.NET-Webanwendung .
  2. Wechseln Sie zur HTML-Ansicht im Fenster WebForm1.aspx, und fügen Sie die folgende Direktive direkt nach der @ Page -Direktive:
    <%@ OutputCache Duration="10" VaryByParam="none" %>
    						
    dieser Code wird das Dauer -Attribut der @ OutputCache -Direktive auf 10 Sekunden festgelegt, sodass Seiteninhalt für 10 Sekunden zwischengespeichert werden. Darüber hinaus besteht das VaryByParam -Attribut eine durch Semikolons getrennte Liste von Zeichenfolgen, die Sie zum variieren des Ausgabecaches anhand der Variablen, die der Benutzer definiert verwenden können. Diese Funktionalität ist über den Rahmen dieses Artikels hinaus, so dass der vorhergehende Code VaryByParam auf none legt.
  3. Fügen Sie in der die HTML-Ansicht von WebForm1.aspx den folgenden Code zwischen den öffnenden und schließenden <form>-Tags zum Hinzufügen einer Label -Steuerelement in das Formular:
    <asp:Label>
    Last cached: <%Response.Write(Now())%>
    </asp:Label>
    						
    Sie diese Bezeichnung verwenden, um das letzte Mal anzeigen, die die Seite geladen wurde. Der Wert in diese Bezeichnung sollten nur ändern, alle 10 Sekunden, unabhängig davon wie oft die Seite aktualisiert wird.
  4. Klicken Sie im Menü Datei auf Speichern .
  5. Klicken Sie im Menü Erstellen auf Projektmappe erstellen .
  6. Klicken Sie mit der rechten Maustaste auf die Seite, und klicken Sie dann auf In Browser anzeigen . Beachten Sie, dass eine Beschriftung angezeigt wird, die zeigt die aktuelle Uhrzeit.
  7. Aktualisieren Sie die Seite mehrmals. Beachten Sie, dass die Bezeichnung, ändert erst nach Ablauf der Zeitspanne 10 Sekunden.

Vollständige Codeauflistung

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="WebApplication1.WebForm1"%>
<%@ OutputCache Duration="10" VaryByParam="none" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
    <head>
        <title>WebForm1</title>
        <meta name="GENERATOR" content="Microsoft Visual Studio.NET 7.0">
        <meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
        <meta name="vs_defaultClientScript" content="JavaScript">
        <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    </head>
    <body MS_POSITIONING="GridLayout">
        <form id="Form1" method="post" runat="server">
        <asp:Label>
            Last Cached: <%Response.Write(Now())%>
        </asp:Label>
        </form>
    </body>
</html>
				
Hinweis : Sie müssen möglicherweise das Inherits -Attribut in der folgenden Codezeile ggf. an den Namen der das Projekt und Web Forms verweisen zu ändern:
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="WebApplication1.WebForm1"%>
				
derzeit wird der Code davon ausgegangen, dass Ihr Projekt WebApplication1 benannt ist und, dass Ihre Webformular WebForm1 benannt ist.

Funktionsprüfung

  1. Öffnen Sie mehrere Browserfenster.
  2. Wechseln Sie in jedem Fenster zu Ihrer .aspx-Seite, als wären Sie ein Endbenutzer. Beachten Sie Anzeige aller Fenster die gleiche Zeit für die Dauer 10 Sekunden, obwohl Sie nicht zu der Seite zur gleichen Zeit browsen.
  3. Suchen Sie nach 10 Sekunden oder aktualisieren Sie Ihrer .aspx-Seite. Beachten Sie, dass alle Fenster die Zeit aktualisiert.



Informationsquellen

Weitere Informationen finden Sie auf der folgenden Microsoft-Websites:
ASP.NET-Optimierung
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconaspoptimization.asp

ASP.NET Caching Features
http://msdn2.microsoft.com/en-us/library/xsbfdd8c(vs.71).aspx

Zwischenspeichern von ASP.NET-Seiten
http://msdn2.microsoft.com/en-us/library/06bh14hk(vs.71).aspx

@ OutputCache
http://msdn2.microsoft.com/en-us/library/hdxfb6cy(vs.71).aspx

Eigenschaften

Artikel-ID: 315896 - Geändert am: Donnerstag, 31. Mai 2007 - Version: 3.6
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Keywords: 
kbmt kbcaching kbhowtomaster kbio kbperformance kbwebforms KB315896 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 315896
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com