CacheDependency-Klasse
Erstellt eine Abhängigkeitsbeziehung zwischen einem im Cache-Objekt einer ASP.NET-Anwendung gespeicherten Element und einer Datei, einem Cacheschlüssel, einem Array von einem der beiden oder einem weiteren CacheDependency-Objekt. Die CacheDependency-Klasse überwacht die Abhängigkeitsbeziehungen, sodass das zwischengespeicherte Element automatisch entfernt wird, wenn sich eine Beziehung ändert.
Namespace: System.Web.Caching
Assembly: System.Web (in system.web.dll)
Syntax
'Declaration
Public Class CacheDependency
Implements IDisposable
'Usage
Dim instance As CacheDependency
public class CacheDependency : IDisposable
public ref class CacheDependency : IDisposable
public class CacheDependency implements IDisposable
public class CacheDependency implements IDisposable
Hinweise
Wenn Sie dem Cache ein Element hinzufügen, das von einem anderen Objekt abhängig ist, z. B. eine Datei oder ein Array von Dateien, wird das abhängige Element automatisch aus dem Cache entfernt, wenn das Objekt geändert wird. Angenommen, Sie erstellen auf Grundlage der Daten in einer XML-Datei ein DataSet-Objekt. Sie können dem Cache das DataSet mit einem CacheDependency-Objekt hinzufügen, das DataSet von der XML-Datei abhängig macht. Wenn die XML-Datei geändert wird, wird DataSet aus dem Cache entfernt.
Mit der Add-Methode und der System.Web.Caching.Cache.Insert-Methode können Sie dem Cache der Anwendung Elemente mit Abhängigkeiten hinzufügen. Die Item-Eigenschaft kann nicht verwendet werden, um dem Cache Elemente mit Abhängigkeiten hinzuzufügen.
Um eine Abhängigkeit einzurichten, erstellen Sie eine Instanz der CacheDependency-Klasse und geben die Dateien, Schlüssel oder Verzeichnisse an, von denen das Element abhängig ist. Übergeben Sie die Abhängigkeit dann an die Add-Methode oder die System.Web.Caching.Cache.Insert-Methode. Die CacheDependency-Instanz kann eine einzelne Datei bzw. ein einzelnes Verzeichnis, ein Array von Dateien bzw. Verzeichnissen oder ein Array von Dateien bzw. Verzeichnissen mit einem Array von Cacheschlüsseln darstellen. Letztere stellen andere im Cache-Objekt gespeicherte Elemente dar.
Beispiel
Im folgenden Codebeispiel wird veranschaulicht, wie mit der HasChanged-Eigenschaft bestimmt wird, ob sich eine CacheDependency geändert hat, seitdem zuletzt ein Element im Cache angefordert wurde. Der im start-Parameter übergebene dt
-Wert wird auf DateTime.Now festgelegt.
' Insert the cache item.
Dim dep As New CacheDependency(fileName, dt)
myCache.Insert("key", "value", dep)
' Check whether CacheDependency.HasChanged is true.
If dep.HasChanged Then
Response.Write("<p>The dependency has changed.")
Else
Response.Write("<p>The dependency has not changed.")
End If
// Insert the cache item.
CacheDependency dep = new CacheDependency(fileName, dt);
cache.Insert("key", "value", dep);
// Check whether CacheDependency.HasChanged is true.
if (dep.HasChanged)
Response.Write("<p>The dependency has changed.");
else Response.Write("<p>The dependency has not changed.");
// Insert the cache item.
CacheDependency dep = new CacheDependency(fileName, dt);
cache.Insert("key", "value", dep);
// Check whether CacheDependency.HasChanged is true.
if (dep.get_HasChanged()) {
get_Response().Write("<p>The dependency has changed.");
}
else {
get_Response().Write("<p>The dependency has not changed.");
}
Vererbungshierarchie
System.Object
System.Web.Caching.CacheDependency
System.Web.Caching.AggregateCacheDependency
System.Web.Caching.SqlCacheDependency
Threadsicherheit
Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
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
CacheDependency-Member
System.Web.Caching-Namespace
Cache-Klasse
Insert