ASP.NET 2.0 bietet einige neue technische Funktionen zur Verbesserung der Programmleistung. Sie bietet einen sehr guten lokalen Daten-Caching-Mechanismus, der leicht angepasst werden kann.
Beim Caching gibt es einen Mangel, der nicht leicht zu beheben ist, nämlich das Problem des Datenablaufs. Die typischste Situation besteht darin, dass, wenn der Dateninhalt in der Datenbanktabelle im Serverspeicher zwischengespeichert wird, die Webanwendung wahrscheinlich veraltete und ungenaue Daten anzeigt, wenn sich die Datensätze in der Datenbanktabelle ändern. Bei manchen Datentypen sind die Auswirkungen selbst dann nicht erheblich, wenn die angezeigten Informationen veraltet sind. Bei Daten mit strengen Echtzeitanforderungen, wie Aktienkursen, Auktionsgeboten und anderen Informationen, ist es jedoch nicht akzeptabel, Daten anzuzeigen, die leicht veraltet sind.
ASP.NET 2.0 unterstützt die folgenden Arten von zwischengespeicherten Seitenausgabecaches. Dieser Mechanismus speichert den gesamten ASP.NET-Seiteninhalt im Serverspeicher. Wenn der Benutzer die Seite anfordert, gibt das System die relevanten Daten aus dem Speicher aus, bis die zwischengespeicherten Daten ablaufen. Bei diesem Vorgang wird der zwischengespeicherte Inhalt direkt an den Benutzer gesendet, ohne dass der Seitenverarbeitungslebenszyklus erneut durchlaufen werden muss. In der Regel ist das Zwischenspeichern der Seitenausgabe besonders nützlich für Seiten, die Inhalte enthalten, die nicht häufig geändert werden müssen, deren vollständige Kompilierung jedoch einen hohen Verarbeitungsaufwand erfordert. Leser sollten beachten, dass der Seitenausgabecache den gesamten Inhalt der Seite im Speicher speichert und zum Abschließen von Clientanforderungen verwendet wird.
Seitenteilcache
Teilweises Seiten-Caching bedeutet, dass die Ausgabe bestimmte Teile der Seite zwischenspeichert, anstatt den gesamten Seiteninhalt zwischenzuspeichern. Es gibt zwei Mechanismen, um teilweises Seiten-Caching zu implementieren: Der eine besteht darin, den Teil der Seite, der zwischengespeichert werden muss, in einem Benutzersteuerelement (.ascx-Datei) zu platzieren und die Caching-Funktion für das Benutzersteuerelement (die Seite, die das Benutzersteuerelement enthält) festzulegen kann Caching einstellen oder auch nicht). Dies wird allgemein als „Kontroll-Caching“ bezeichnet. Das Wesentliche beim Festlegen des Steuerungscache besteht darin, den Cache der Benutzersteuerung zu konfigurieren. Es umfasst hauptsächlich die folgenden drei Methoden: Eine besteht darin, die Cache-Funktion für das Benutzersteuerelement deklarativ festzulegen. Die andere besteht darin, die PartialCachingAttribute-Klasse in der Code-Behind-Datei zu verwenden, um den Benutzersteuercache festzulegen besteht darin, die ControlCachePolicy-Klasse zu verwenden, um die Einrichtung des Benutzersteuerungscache programmgesteuert anzugeben. Alternativ gibt es eine Methode namens „Replace After Cache“. Diese Methode ist genau das Gegenteil des Kontrollcachings. Sie legt fest, dass ein bestimmter Teil der Seite nicht zwischengespeichert wird. Daher wird bei erneuter Anforderung der Seite der Inhalt, der nicht zwischengespeichert wird, gespeichert wiederaufbereitet.
Anwendungsdaten-Cache Der Anwendungsdaten-Cache bietet eine programmgesteuerte Möglichkeit, beliebige Daten mithilfe von Schlüssel/Wert-Paaren im Speicher zu speichern. Die Verwendung des Anwendungscaches ähnelt der Verwendung des Anwendungsstatus. Im Gegensatz zum Anwendungsstatus sind die Daten im Anwendungsdatencache jedoch flüchtig, d. h. die Daten werden nicht während der gesamten Anwendungslebensdauer im Speicher gespeichert. Der Vorteil des Anwendungsdatencaches besteht darin, dass ASP.NET den Cache verwaltet und Elemente aus dem Cache entfernt, wenn sie abgelaufen, ungültig oder nicht mehr über genügend Speicher verfügen. Der Anwendungscache kann auch so konfiguriert werden, dass die Anwendung benachrichtigt wird, wenn ein Element entfernt wird .
Cache-Abhängigkeit
Die in Net 2.0 eingeführten benutzerdefinierten Cache-Abhängigkeiten, insbesondere die auf MS-SQL Server basierende SqlCacheDependency-Funktion, ermöglichen es uns, das Problem des „Datenablaufs“ zu vermeiden. Es kann den Cache benachrichtigen und diejenigen entfernen, die aufgrund von Änderungen in den entsprechenden Daten abgelaufen sind
die Daten
-Caching-Funktion weist ihre eigenen Mängel auf. Beispielsweise ist der angezeigte Inhalt möglicherweise nicht der neueste und genaueste und aus diesem Grund müssen entsprechende Caching-Richtlinien festgelegt werden. Als weiteres Beispiel erhöht Caching die Komplexität des Systems und erschwert das Testen und Debuggen. Daher wird empfohlen, die Anwendung ohne Caching zu entwickeln und zu testen und dann die Caching-Option während der Leistungsoptimierungsphase zu aktivieren.