CacheDependency-Konstruktor (String[], String , CacheDependency, DateTime)
Initialisiert eine neue Instanz der CacheDependency-Klasse, die ein Array von Pfaden (zu Dateien oder Verzeichnissen), ein Array von Cacheschlüsseln oder beides auf Änderungen überwacht. Außerdem wird eine Abhängigkeit zu einer anderen Instanz der CacheDependency-Klasse und einem Zeitpunkt hergestellt, an dem die Änderungsüberwachung beginnt.
Namespace: System.Web.Caching
Assembly: System.Web (in system.web.dll)
Syntax
'Declaration
Public Sub New ( _
filenames As String(), _
cachekeys As String(), _
dependency As CacheDependency, _
start As DateTime _
)
'Usage
Dim filenames As String()
Dim cachekeys As String()
Dim dependency As CacheDependency
Dim start As DateTime
Dim instance As New CacheDependency(filenames, cachekeys, dependency, start)
public CacheDependency (
string[] filenames,
string[] cachekeys,
CacheDependency dependency,
DateTime start
)
public:
CacheDependency (
array<String^>^ filenames,
array<String^>^ cachekeys,
CacheDependency^ dependency,
DateTime start
)
public CacheDependency (
String[] filenames,
String[] cachekeys,
CacheDependency dependency,
DateTime start
)
public function CacheDependency (
filenames : String[],
cachekeys : String[],
dependency : CacheDependency,
start : DateTime
)
Parameter
- filenames
Ein Array von Pfaden (zu Dateien oder Verzeichnissen), von dem das zwischengespeicherte Objekt abhängig ist. Wenn eine dieser Ressourcen geändert wird, ist das zwischengespeicherte Objekt veraltet und wird aus dem Cache entfernt.
- cachekeys
Ein Array von Cacheschlüsseln, bei dem Änderungen durch das neue Objekt überwacht werden. Bei einer Änderung an einem dieser Cacheschlüssel ist das zwischengespeicherte Objekt, das diesem Abhängigkeitsobjekt zugeordnet ist, veraltet und wird aus dem Cache entfernt.
- dependency
Eine andere Instanz der CacheDependency-Klasse, von dem diese Instanz abhängig ist.
- start
Die Zeit, mit der das Datum der letzten Änderung der Objekte in den Arrays und des CacheDependency-Objekts verglichen werden soll.
Hinweise
Wenn darüber hinaus eines der Verzeichnisse bzw. eine der Dateien, die im filenames-Parameter angegeben sind, im Dateisystem nicht gefunden wird, wird es bzw. sie als fehlend behandelt. Falls ein Verzeichnis oder eine Datei fehlt, wenn das Objekt mit der Abhängigkeit dem Cache hinzugefügt wird, wird das zwischengespeicherte Objekt beim Erstellen des Verzeichnisses oder der Datei aus dem Cache entfernt.
Angenommen, Sie fügen dem Cache ein Objekt hinzu, das eine Abhängigkeit zu folgendem Dateipfad aufweist: c:\stocks\xyz.dat. Wenn diese Datei bei der Erstellung des CacheDependency-Objekts nicht gefunden, sondern später erstellt wird, wird das zwischengespeicherte Objekt durch die Erstellung der Datei xyz.dat entfernt.
Hinweis
Die Nachverfolgung von Änderungen beginnt sofort und basiert nicht direkt auf dem start-Parameter. Übergeben Sie ein vergangenes Datum mit Uhrzeit, mit dem das Datum der letzten Änderung eines in den Parametern filenames, cachekeys oder dependency übergebenen Objekts verglichen werden soll, unter Verwendung des start-Parameters. Wenn das Datum der letzten Änderung für eines dieser Objekte nach dem im start-Parameter übergebenen Datum bzw. der übergebenen Uhrzeit liegt, wird das zwischengespeicherte Element aus dem Cache entfernt.
Beispiel
Im folgenden Codebeispiel wird eine CreateDependency
-Methode veranschaulicht. Beim Aufruf dieser Methode wird ein DateTime-Objekt erstellt, und die Cache.Item-Eigenschaft wird verwendet, um dem Cache ein Element mit einem Schlüsselparameter von key1
und einem Wert von Value 1
hinzuzufügen. Anschließend wird das Zeichenfolgenarray dependencyKey
erstellt. Der Wert seines ersten (und einzigen) Indexes wird ebenfalls auf den Wert von key1
festgelegt. Mit dem System.Web.Caching.CacheDependency-Konstruktor wird dann das CacheDependency-Objekt dep1
erstellt, das dependencyKey
als Parameterargument übergibt. Mit diesem Konstruktor wird dann ein zweites CacheDependency-Objekt, dep2
, erstellt, und dep1
und das DateTime-Objekt werden als Parameterargumente übergeben. Diese zweite Abhängigkeit hängt von der ersten ab, und die Abhängigkeitsüberwachung beginnt 10 Sekunden nach dem Aufruf der CreateDependency
-Methode. Anschließend wird die System.Web.Caching.Cache.Insert-Methode aufgerufen, wobei das zweite CacheDependency-Objekt als Parameter verwendet wird. Bei einer Änderung der ersten Abhängigkeit wird das zwischengespeicherte Element für ungültig erklärt.
Public Sub CreateDependency(sender As [Object], e As EventArgs)
' Create a DateTime object.
Dim dt as DateTime = DateTime.Now.AddSeconds(10)
' Create a cache entry.
Cache("key1") = "Value 1"
' Make key2 dependent on key1 using double dependency.
Dim dependencyKey(0) As [String]
dependencyKey(0) = "key1"
Dim dep1 As New CacheDependency(Nothing, dependencyKey)
' Make a second CacheDependency dependent on dep1
' and use dt to start change monitoring.
Dim dep2 As New CacheDependency(Nothing, Nothing, dep1, dt)
Cache.Insert("key2", "Value 2", dep2)
DisplayValues()
End Sub 'CreateDependency
public void CreateDependency(Object sender, EventArgs e) {
// Create a DateTime object.
DateTime dt = DateTime.Now.AddSeconds(10);
// Create a cache entry.
Cache["key1"] = "Value 1";
// Make key2 dependent on key1.
String[] dependencyKey = new String[1];
dependencyKey[0] = "key1";
CacheDependency dep1 = new CacheDependency(null, dependencyKey);
// Make a second CacheDependency dependent on dep1.
// and use dt to start change monitoring.
CacheDependency dep2 = new CacheDependency(null, null, dep1, dt);
Cache.Insert("key2", "Value 2", dep2);
DisplayValues();
}
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-Klasse
CacheDependency-Member
System.Web.Caching-Namespace