CacheDependency Konstruktoren
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Initialisiert eine neue Instanz der CacheDependency-Klasse.
Überlädt
| Name | Beschreibung |
|---|---|
| CacheDependency() |
Initialisiert eine neue Instanz der CacheDependency-Klasse. |
| CacheDependency(String) |
Initialisiert eine neue Instanz der CacheDependency Klasse, die eine Datei oder ein Verzeichnis auf Änderungen überwacht. |
| CacheDependency(String[]) |
Initialisiert eine neue Instanz der CacheDependency Klasse, die ein Array von Pfaden (in Dateien oder Verzeichnissen) für Änderungen überwacht. |
| CacheDependency(String, DateTime) |
Initialisiert eine neue Instanz der CacheDependency Klasse, die eine Datei oder ein Verzeichnis auf Änderungen überwacht. |
| CacheDependency(String[], DateTime) |
Initialisiert eine neue Instanz der CacheDependency Klasse, die ein Array von Pfaden (in Dateien oder Verzeichnissen) für Änderungen überwacht, und gibt einen Zeitpunkt an, zu dem die Änderungsüberwachung beginnt. |
| CacheDependency(String[], String[]) |
Initialisiert eine neue Instanz der CacheDependency Klasse, die ein Array von Pfaden (in Dateien oder Verzeichnissen), ein Array von Cacheschlüsseln oder beides auf Änderungen überwacht. |
| CacheDependency(String[], String[], DateTime) |
Initialisiert eine neue Instanz der CacheDependency Klasse, die ein Array von Pfaden (in Dateien oder Verzeichnissen), ein Array von Cacheschlüsseln oder beides auf Änderungen überwacht. |
| CacheDependency(String[], String[], CacheDependency) |
Initialisiert eine neue Instanz der CacheDependency Klasse, die ein Array von Pfaden (in Dateien oder Verzeichnissen), ein Array von Cacheschlüsseln oder beides auf Änderungen überwacht. Sie hängt auch von einer separaten Instanz der CacheDependency Klasse ab. |
| CacheDependency(String[], String[], CacheDependency, DateTime) |
Initialisiert eine neue Instanz der CacheDependency Klasse, die ein Array von Pfaden (in Dateien oder Verzeichnissen), ein Array von Cacheschlüsseln oder beides auf Änderungen überwacht. Sie hängt auch von einer anderen Instanz der CacheDependency Klasse und einer Zeit ab, zu der die Änderungsüberwachung beginnt. |
CacheDependency()
Initialisiert eine neue Instanz der CacheDependency-Klasse.
protected:
CacheDependency();
protected CacheDependency();
Protected Sub New ()
Beispiele
Das folgende Codebeispiel ist eine Klasse, die diese Version des CacheDependency Konstruktors implementiert, da alle Klassen, von CacheDependency denen abgeleitet werden muss, erforderlich sind.
' Declare the class.
Public Class CustomCacheDependency
Inherits CacheDependency
' Constructor with no arguments
' provided by CacheDependency class.
Public Sub New()
End Sub
' Declare a Boolean field named disposedValue.
' This will be used by Disposed property.
Private disposedValue As Boolean
' Create accessors for the Disposed property.
Public Property Disposed As Boolean
Get
Return disposedValue
End Get
Set (ByVal value As Boolean)
disposedValue = value
End Set
End Property
' Create a public method that sets the latest
' changed time of the CustomCacheDependency
' and notifies the underlying CacheDependency that the
' dependency has changed, even though the HasChanged
' property is false.
Public Sub ResetDependency()
If Me.HasChanged = False
SetUtcLastModified(DateTime.MinValue)
NotifyDependencyChanged(Me, EventArgs.Empty)
End If
End Sub
' Overrides the DependencyDispose method to set the
' Disposed proerty to true. This method automatically
' notifies the underlying CacheDependency object to
' release any resources associated with this class.
Protected Overrides Sub DependencyDispose()
Disposed = True
End Sub
End Class
Hinweise
Wenn Sie Ihre eigene Klasse ableiten CacheDependencymöchten, implementieren Sie diese Version des CacheDependency Konstruktors.
Weitere Informationen
Gilt für:
CacheDependency(String)
Initialisiert eine neue Instanz der CacheDependency Klasse, die eine Datei oder ein Verzeichnis auf Änderungen überwacht.
public:
CacheDependency(System::String ^ filename);
public CacheDependency(string filename);
new System.Web.Caching.CacheDependency : string -> System.Web.Caching.CacheDependency
Public Sub New (filename As String)
Parameter
- filename
- String
Der Pfad zu einer Datei oder einem Verzeichnis, von der das zwischengespeicherte Objekt abhängig ist. Wenn sich diese Ressource ändert, wird das zwischengespeicherte Objekt veraltet und aus dem Cache entfernt.
Beispiele
Im folgenden Codebeispiel wird eine Instanz der CacheDependency Klasse mit einer Abhängigkeit von einer XML-Datei erstellt. Die Cache.Insert Methode fügt dann ein Element hinzu, das Cache von dieser Datei abhängig ist.
CacheDependency dep = new CacheDependency(Server.MapPath("isbn.xml"));
Cache.Insert("ISBNData", Source, dep);
Dim dep As New CacheDependency(Server.MapPath("isbn.xml"))
Cache.Insert("ISBNData", Source, dep)
Sie können auch die folgende Technik verwenden, um dem Cache Element eine Abhängigkeit von einer Datei hinzuzufügen.
// Make key1 dependent on a file.
CacheDependency dependency = new CacheDependency(Server.MapPath("isbn.xml"));
Cache.Insert("key1", "Value 1", dependency);
' Make key1 dependent on a file.
Dim dependency as new CacheDependency(Server.MapPath("isbn.xml"))
Cache.Insert("key1", "Value 1", dependency)
End If
Hinweise
Wenn das im Parameter angegebene Verzeichnis oder die im filename Parameter angegebene Datei nicht im Dateisystem gefunden wird, wird es als fehlt behandelt. Wenn das Verzeichnis oder die Datei fehlt, wenn das Objekt mit der Abhängigkeit dem CacheObjekt hinzugefügt wird, wird das zwischengespeicherte Objekt aus dem Cache Verzeichnis oder der Datei entfernt, wenn das Verzeichnis oder die Datei erstellt wird.
Angenommen, Sie fügen dem Cache Objekt eine Abhängigkeit vom folgenden Dateipfad hinzu: c:\stocks\xyz.dat. Wenn diese Datei beim Erstellen des CacheDependency Objekts nicht gefunden wird, aber später erstellt wird, wird das zwischengespeicherte Objekt beim Erstellen der xyz.dat-Datei entfernt.
Weitere Informationen
Gilt für:
CacheDependency(String[])
Initialisiert eine neue Instanz der CacheDependency Klasse, die ein Array von Pfaden (in Dateien oder Verzeichnissen) für Änderungen überwacht.
public:
CacheDependency(cli::array <System::String ^> ^ filenames);
public CacheDependency(string[] filenames);
new System.Web.Caching.CacheDependency : string[] -> System.Web.Caching.CacheDependency
Public Sub New (filenames As String())
Parameter
- filenames
- String[]
Ein Array von Pfaden (in Dateien oder Verzeichnissen), von denen das zwischengespeicherte Objekt abhängig ist. Wenn sich eine dieser Ressourcen ändert, wird das zwischengespeicherte Objekt veraltet und aus dem Cache entfernt.
Beispiele
Im folgenden Codebeispiel wird die Verwendung der Cache.Insert Methode zum Hinzufügen eines Elements zu den Cache Abhängigkeiten eines Arrays von Dateien veranschaulicht. Sie können das Element auch abhängig von einem Array von Verzeichnissen machen.
// Make key1 dependent on several files.
String[] files = new String[2];
files[0] = Server.MapPath("isbn.xml");
files[1] = Server.MapPath("customer.xml");
CacheDependency dependency = new CacheDependency(files);
Cache.Insert("key1", "Value 1", dependency);
}
' Make key1 dependent on several files.
Dim files(2) as String
files(0) = Server.MapPath("isbn.xml")
files(1) = Server.MapPath("customer.xml")
Dim dependency as new CacheDependency(files)
Cache.Insert("key1", "Value 1", dependency)
End If
Hinweise
Wenn sich eine der Dateien oder Verzeichnisse im Array ändert oder aus dem Array entfernt wird, wird das zwischengespeicherte Element veraltet und aus dem Objekt der Anwendung Cache entfernt.
Wenn eines der im filenames Parameter angegebenen Verzeichnisse oder Dateien im Dateisystem nicht gefunden wird, wird sie ebenfalls als fehlender Wert behandelt. Wenn ein Verzeichnis oder eine Datei fehlt, wenn das Objekt mit der Abhängigkeit dem CacheObjekt hinzugefügt wird, wird das zwischengespeicherte Objekt beim Cache Erstellen dieses Verzeichnisses oder dieser Datei entfernt.
Angenommen, Sie fügen dem Cache Objekt eine Abhängigkeit vom folgenden Dateipfad hinzu: c:\stocks\xyz.dat. Wenn diese Datei beim Erstellen des CacheDependency Objekts nicht gefunden wird, aber später erstellt wird, wird das zwischengespeicherte Objekt beim Erstellen der xyz.dat-Datei entfernt.
Note
Wenn Sie das Array erstellen, das die Dateiabhängigkeiten enthält, müssen Sie die Anzahl der Dateien definieren, von denen Cache das Element, das Sie hinzufügen, abhängig ist.
Weitere Informationen
Gilt für:
CacheDependency(String, DateTime)
Initialisiert eine neue Instanz der CacheDependency Klasse, die eine Datei oder ein Verzeichnis auf Änderungen überwacht.
public:
CacheDependency(System::String ^ filename, DateTime start);
public CacheDependency(string filename, DateTime start);
new System.Web.Caching.CacheDependency : string * DateTime -> System.Web.Caching.CacheDependency
Public Sub New (filename As String, start As DateTime)
Parameter
- filename
- String
Der Pfad zu einer Datei oder einem Verzeichnis, von der das zwischengespeicherte Objekt abhängig ist. Wenn sich diese Ressource ändert, wird das zwischengespeicherte Objekt veraltet und aus dem Cache entfernt.
- start
- DateTime
Die Uhrzeit, zu der das Datum der letzten Änderung des Verzeichnisses oder der Datei überprüft werden soll.
Beispiele
Im folgenden Codebeispiel wird dieser Konstruktor verwendet, um ein CacheDependency Objekt zu instanziieren und dann ein Element in die Cache Abhängigkeit einzufügen. Der dt wert, der start im Parameter übergeben wird, wird auf DateTime.Now.
// 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.
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
Hinweise
Wenn das im Parameter angegebene Verzeichnis oder die im filename Parameter angegebene Datei nicht im Dateisystem gefunden wird, wird es als fehlt behandelt. Wenn das Verzeichnis oder die Datei fehlt, wenn das Objekt mit der Abhängigkeit dem CacheObjekt hinzugefügt wird, wird das zwischengespeicherte Objekt aus dem Cache Verzeichnis oder der Datei entfernt, wenn das Verzeichnis oder die Datei erstellt wird.
Angenommen, Sie fügen dem Cache Objekt eine Abhängigkeit vom folgenden Dateipfad hinzu: c:\stocks\xyz.dat. Wenn diese Datei beim Erstellen des CacheDependency Objekts nicht gefunden wird, aber später erstellt wird, wird das zwischengespeicherte Objekt beim Erstellen der xyz.dat-Datei entfernt.
Note
Die Änderungsnachverfolgung beginnt sofort und basiert nicht direkt auf dem start Parameter. Verwenden Sie den start Parameter, um ein Datum und eine Uhrzeit in der Vergangenheit zu übergeben, anhand dessen Sie das Datum der letzten Änderung des Verzeichnisses oder der Datei überprüfen möchten, das filename im Parameter übergeben wurde. Wenn das Datum der letzten Änderung später als das datum und die Uhrzeit des übergebenen start Parameters liegt, wird das zwischengespeicherte Element aus dem Cache.
Weitere Informationen
Gilt für:
CacheDependency(String[], DateTime)
Initialisiert eine neue Instanz der CacheDependency Klasse, die ein Array von Pfaden (in Dateien oder Verzeichnissen) für Änderungen überwacht, und gibt einen Zeitpunkt an, zu dem die Änderungsüberwachung beginnt.
public:
CacheDependency(cli::array <System::String ^> ^ filenames, DateTime start);
public CacheDependency(string[] filenames, DateTime start);
new System.Web.Caching.CacheDependency : string[] * DateTime -> System.Web.Caching.CacheDependency
Public Sub New (filenames As String(), start As DateTime)
Parameter
- filenames
- String[]
Ein Array von Pfaden (in Dateien oder Verzeichnissen), von denen das zwischengespeicherte Objekt abhängig ist. Wenn sich eine dieser Ressourcen ändert, wird das zwischengespeicherte Objekt veraltet und aus dem Cache entfernt.
- start
- DateTime
Die Uhrzeit, zu der das Datum der letzten Änderung der Objekte im Array überprüft werden soll.
Beispiele
Im folgenden Codebeispiel wird ein CacheDependency Objekt erstellt, das zwei XML-Dateien und einen DateTime.Now Wert übergibt, wenn das Objekt als Parameterargument in einem Cache.Insert Methodenaufruf enthalten ist.
// Create a DateTime object that determines
// when dependency monitoring begins.
DateTime dt = DateTime.Now;
// Make key1 dependent on several files.
String[] files = new String[2];
files[0] = Server.MapPath("isbn.xml");
files[1] = Server.MapPath("customer.xml");
CacheDependency dep = new CacheDependency(files, dt);
Cache.Insert("key1", "Value 1", dep);
}
' Create a DateTime object that determines
' when dependency monitoring begins.
Dim dt As DateTime = DateTime.Now
' Make key1 dependent on several files.
Dim files(2) as String
files(0) = Server.MapPath("isbn.xml")
files(1) = Server.MapPath("customer.xml")
Dim dependency as new CacheDependency(files, dt)
Cache.Insert("key1", "Value 1", dependency)
End If
Hinweise
Wenn eines der im filenames Parameter angegebenen Verzeichnisse oder Dateien nicht im Dateisystem gefunden wird, wird sie als fehlender Wert behandelt. Wenn ein Verzeichnis oder eine Datei fehlt, wenn das Objekt mit der Abhängigkeit dem CacheObjekt hinzugefügt wird, wird das zwischengespeicherte Objekt beim Cache Erstellen dieses Verzeichnisses oder dieser Datei entfernt.
Angenommen, Sie fügen dem Cache Objekt eine Abhängigkeit vom folgenden Dateipfad hinzu: c:\stocks\xyz.dat. Wenn diese Datei beim Erstellen des CacheDependency Objekts nicht gefunden wird, aber später erstellt wird, wird das zwischengespeicherte Objekt beim Erstellen der xyz.dat-Datei entfernt.
Note
Die Änderungsnachverfolgung beginnt sofort und basiert nicht direkt auf dem start Parameter. Verwenden Sie den start Parameter, um ein Datum und eine Uhrzeit in der Vergangenheit zu übergeben, mit dem Sie das Datum der letzten Änderung des Arrays überprüfen möchten, das filenames im Parameter übergeben wurde. Wenn das datum der letzten Änderung eines Objekts im Array später als das Datum und die Uhrzeit liegt, die start im Parameter übergeben wird, wird das zwischengespeicherte Element aus dem Cache.
Weitere Informationen
Gilt für:
CacheDependency(String[], String[])
Initialisiert eine neue Instanz der CacheDependency Klasse, die ein Array von Pfaden (in Dateien oder Verzeichnissen), ein Array von Cacheschlüsseln oder beides auf Änderungen überwacht.
public:
CacheDependency(cli::array <System::String ^> ^ filenames, cli::array <System::String ^> ^ cachekeys);
public CacheDependency(string[] filenames, string[] cachekeys);
new System.Web.Caching.CacheDependency : string[] * string[] -> System.Web.Caching.CacheDependency
Public Sub New (filenames As String(), cachekeys As String())
Parameter
- filenames
- String[]
Ein Array von Pfaden (in Dateien oder Verzeichnissen), von denen das zwischengespeicherte Objekt abhängig ist. Wenn sich eine dieser Ressourcen ändert, wird das zwischengespeicherte Objekt veraltet und aus dem Cache entfernt.
- cachekeys
- String[]
Ein Array von Cacheschlüsseln, die das neue Objekt auf Änderungen überwacht. Wenn sich eines dieser Cacheschlüssel ändert, wird das diesem Abhängigkeitsobjekt zugeordnete zwischengespeicherte Objekt veraltet und aus dem Cache entfernt.
Beispiele
Das folgende Codefragment veranschaulicht, wie Sie ein Element in die Anwendung Cache einfügen, wobei eine Abhängigkeit von einem Schlüssel zu einem anderen Element im Cache vorhanden ist. Da diese Methode eine Arraysyntax verwendet, müssen Sie die Anzahl der Schlüssel definieren, von denen das Element, das Sie hinzufügen Cache , abhängig ist.
public void CreateDependency(Object sender, EventArgs e) {
// Create a cache entry.
Cache["key1"] = "Value 1";
// Make key2 dependent on key1.
String[] dependencyKey = new String[1];
dependencyKey[0] = "key1";
CacheDependency dependency = new CacheDependency(null, dependencyKey);
Cache.Insert("key2", "Value 2", dependency);
DisplayValues();
}
Public Sub CreateDependency(sender As Object, e As EventArgs)
' Create a cache entry.
Cache("key1") = "Value 1"
' Make key2 dependent on key1.
Dim dependencyKey(0) As String
dependencyKey(0) = "key1"
Dim dependency As new CacheDependency(Nothing, dependencyKey)
Cache.Insert("key2", "Value 2", dependency)
DisplayValues()
End Sub
Hinweise
Wenn eines der im filenames Parameter angegebenen Verzeichnisse oder Dateien im Dateisystem nicht gefunden wird, wird sie ebenfalls als fehlender Wert behandelt. Wenn ein Verzeichnis oder eine Datei fehlt, wenn das Objekt mit der Abhängigkeit dem CacheObjekt hinzugefügt wird, wird das zwischengespeicherte Objekt beim Cache Erstellen dieses Verzeichnisses oder dieser Datei entfernt.
Angenommen, Sie fügen dem Cache Objekt eine Abhängigkeit vom folgenden Dateipfad hinzu: c:\stocks\xyz.dat. Wenn diese Datei beim Erstellen des CacheDependency Objekts nicht gefunden wird, aber später erstellt wird, wird das zwischengespeicherte Objekt beim Erstellen der xyz.dat-Datei entfernt.
cachekeys Die Abhängigkeit funktioniert jedoch nicht auf die gleiche Weise. Wenn zum Zeitpunkt eines Einfügens mindestens ein Wert im cachekeys Parameter nicht vorhanden ist, schlägt das Einfügen fehl. Beachten Sie, dass für dieses Szenario keine Ausnahme ausgelöst wird.
Weitere Informationen
Gilt für:
CacheDependency(String[], String[], DateTime)
Initialisiert eine neue Instanz der CacheDependency Klasse, die ein Array von Pfaden (in Dateien oder Verzeichnissen), ein Array von Cacheschlüsseln oder beides auf Änderungen überwacht.
public:
CacheDependency(cli::array <System::String ^> ^ filenames, cli::array <System::String ^> ^ cachekeys, DateTime start);
public CacheDependency(string[] filenames, string[] cachekeys, DateTime start);
new System.Web.Caching.CacheDependency : string[] * string[] * DateTime -> System.Web.Caching.CacheDependency
Public Sub New (filenames As String(), cachekeys As String(), start As DateTime)
Parameter
- filenames
- String[]
Ein Array von Pfaden (in Dateien oder Verzeichnissen), von denen das zwischengespeicherte Objekt abhängig ist. Wenn sich eine dieser Ressourcen ändert, wird das zwischengespeicherte Objekt veraltet und aus dem Cache entfernt.
- cachekeys
- String[]
Ein Array von Cacheschlüsseln, die das neue Objekt auf Änderungen überwacht. Wenn sich eines dieser Cacheschlüssel ändert, wird das diesem Abhängigkeitsobjekt zugeordnete zwischengespeicherte Objekt veraltet und aus dem Cache entfernt.
- start
- DateTime
Das Datum und die Uhrzeit, ab dem das Datum der letzten Änderung der objekte überprüft werden soll, die in den filenames Und-Arrays cachekeys übergeben wurden.
Beispiele
Im folgenden Codebeispiel wird eine CreateDependency Methode erstellt. Wenn diese Methode aufgerufen wird, wird ein DateTime Objekt erstellt, und die Cache.Item[] Eigenschaft wird verwendet, um dem Cache ein Element mit einem key Parameter von und einem Wert von key1Value 1 hinzuzufügen. Ein Array von Zeichenfolgen dependencyKeywird dann auch mit dem Wert erstellt key1 . Dieser CacheDependency Konstruktor instanziiert dann ein CacheDependency Objekt, das übergeben dependencyKey wird, und das DateTime Objekt als Parameterargumente. Die Cache.Insert Methode wird als nächstes mit dem CacheDependency Objekt als Parameter aufgerufen. Dadurch wird das Objekt mithilfe der Insert Vom Schlüssel abhängigen key1 Methode zum Cache hinzugefügt.
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 dependency = new CacheDependency(null, dependencyKey, dt);
Cache.Insert("key2", "Value 2", dependency);
DisplayValues();
}
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.
Dim dependencyKey(0) As String
dependencyKey(0) = "key1"
Dim dependency As new CacheDependency(Nothing, dependencyKey, dt)
Cache.Insert("key2", "Value 2", dependency)
DisplayValues()
End Sub
Hinweise
Wenn eines der im filenames Parameter angegebenen Verzeichnisse oder Dateien im Dateisystem nicht gefunden wird, wird sie ebenfalls als fehlender Wert behandelt. Wenn ein Verzeichnis oder eine Datei fehlt, wenn das Objekt mit der Abhängigkeit dem CacheObjekt hinzugefügt wird, wird das zwischengespeicherte Objekt beim Cache Erstellen dieses Verzeichnisses oder dieser Datei entfernt.
Angenommen, Sie fügen dem Cache Objekt eine Abhängigkeit vom folgenden Dateipfad hinzu: c:\stocks\xyz.dat. Wenn diese Datei beim Erstellen des CacheDependency Objekts nicht gefunden wird, aber später erstellt wird, wird das zwischengespeicherte Objekt beim Erstellen der xyz.dat-Datei entfernt.
cachekeys Die Abhängigkeit funktioniert jedoch nicht auf die gleiche Weise. Wenn zum Zeitpunkt eines Einfügens mindestens ein Wert im cachekeys Parameter nicht vorhanden ist, schlägt das Einfügen fehl. Beachten Sie, dass für dieses Szenario keine Ausnahme ausgelöst wird.
Note
Die Änderungsnachverfolgung beginnt sofort und basiert nicht direkt auf dem start Parameter. Verwenden Sie den start Parameter, um ein Datum und eine Uhrzeit in der Vergangenheit zu übergeben, anhand dessen Sie das Datum der letzten Änderung eines Objekts überprüfen möchten, das in den filenames Parametern cachekeys oder Parametern übergeben wird. Wenn das Datum der letzten Änderung eines dieser Objekte später als das Datum und die Uhrzeit liegt, die start im Parameter übergeben wird, wird das zwischengespeicherte Element aus dem Cache.
Weitere Informationen
Gilt für:
CacheDependency(String[], String[], CacheDependency)
Initialisiert eine neue Instanz der CacheDependency Klasse, die ein Array von Pfaden (in Dateien oder Verzeichnissen), ein Array von Cacheschlüsseln oder beides auf Änderungen überwacht. Sie hängt auch von einer separaten Instanz der CacheDependency Klasse ab.
public:
CacheDependency(cli::array <System::String ^> ^ filenames, cli::array <System::String ^> ^ cachekeys, System::Web::Caching::CacheDependency ^ dependency);
public CacheDependency(string[] filenames, string[] cachekeys, System.Web.Caching.CacheDependency dependency);
new System.Web.Caching.CacheDependency : string[] * string[] * System.Web.Caching.CacheDependency -> System.Web.Caching.CacheDependency
Public Sub New (filenames As String(), cachekeys As String(), dependency As CacheDependency)
Parameter
- filenames
- String[]
Ein Array von Pfaden (in Dateien oder Verzeichnissen), von denen das zwischengespeicherte Objekt abhängig ist. Wenn sich eine dieser Ressourcen ändert, wird das zwischengespeicherte Objekt veraltet und aus dem Cache entfernt.
- cachekeys
- String[]
Ein Array von Cacheschlüsseln, die das neue Objekt auf Änderungen überwacht. Wenn sich eines dieser Cacheschlüssel ändert, wird das diesem Abhängigkeitsobjekt zugeordnete zwischengespeicherte Objekt veraltet und aus dem Cache entfernt.
- dependency
- CacheDependency
Eine andere Instanz der Klasse, von der CacheDependency diese Instanz abhängig ist.
Beispiele
Im folgenden Codebeispiel wird eine CreateDependency Methode erstellt. Wenn diese Methode aufgerufen wird, wird die Cache.Item[] Eigenschaft verwendet, um dem Cache ein Element mit einem Parameter und key einem key1 Wert von Value 1. Ein Array von Zeichenfolgen dependencyKeywird dann auch mit dem Wert erstellt key1 . Der CacheDependency.CacheDependency Konstruktor wird verwendet, um ein CacheDependency Objekt zu erstellen, dep1das als Parameterargument übergeben wird dependencyKey . Mit diesem Konstruktor wird ein zweites CacheDependency Objekt dep2erstellt, das dep1 als drittes Parameterargument übergeben wird. Diese zweite Abhängigkeit hängt vom ersten ab. Die Cache.Insert Methode wird als nächstes aufgerufen, wobei das zweite CacheDependency Objekt als Parameter verwendet wird. Wenn sich die erste Abhängigkeit auf irgendeine Weise ändert, wird das zwischengespeicherte Element ungültig.
public void CreateDependency(Object sender, EventArgs e) {
// 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.
CacheDependency dep2 = new CacheDependency(null, null, dep1);
Cache.Insert("key2", "Value 2", dep2);
DisplayValues();
}
Public Sub CreateDependency(sender As [Object], e As EventArgs)
' 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.
Dim dep2 As New CacheDependency(Nothing, Nothing, dep1)
Cache.Insert("key2", "Value 2", dep2)
DisplayValues()
End Sub 'CreateDependency
Hinweise
Wenn eines der im filenames Parameter angegebenen Verzeichnisse oder Dateien im Dateisystem nicht gefunden wird, wird sie ebenfalls als fehlender Wert behandelt. Wenn ein Verzeichnis oder eine Datei fehlt, wenn das Objekt mit der Abhängigkeit dem CacheObjekt hinzugefügt wird, wird das zwischengespeicherte Objekt beim Cache Erstellen dieses Verzeichnisses oder dieser Datei entfernt.
Angenommen, Sie fügen dem Cache Objekt eine Abhängigkeit vom folgenden Dateipfad hinzu: c:\stocks\xyz.dat. Wenn diese Datei beim Erstellen des CacheDependency Objekts nicht gefunden wird, aber später erstellt wird, wird das zwischengespeicherte Objekt beim Erstellen der xyz.dat-Datei entfernt.
cachekeys Die Abhängigkeit funktioniert jedoch nicht auf die gleiche Weise. Wenn zum Zeitpunkt eines Einfügens mindestens ein Wert im cachekeys Parameter nicht vorhanden ist, schlägt das Einfügen fehl. Beachten Sie, dass für dieses Szenario keine Ausnahme ausgelöst wird.
Gilt für:
CacheDependency(String[], String[], CacheDependency, DateTime)
Initialisiert eine neue Instanz der CacheDependency Klasse, die ein Array von Pfaden (in Dateien oder Verzeichnissen), ein Array von Cacheschlüsseln oder beides auf Änderungen überwacht. Sie hängt auch von einer anderen Instanz der CacheDependency Klasse und einer Zeit ab, zu der die Änderungsüberwachung beginnt.
public:
CacheDependency(cli::array <System::String ^> ^ filenames, cli::array <System::String ^> ^ cachekeys, System::Web::Caching::CacheDependency ^ dependency, DateTime start);
public CacheDependency(string[] filenames, string[] cachekeys, System.Web.Caching.CacheDependency dependency, DateTime start);
new System.Web.Caching.CacheDependency : string[] * string[] * System.Web.Caching.CacheDependency * DateTime -> System.Web.Caching.CacheDependency
Public Sub New (filenames As String(), cachekeys As String(), dependency As CacheDependency, start As DateTime)
Parameter
- filenames
- String[]
Ein Array von Pfaden (in Dateien oder Verzeichnissen), von denen das zwischengespeicherte Objekt abhängig ist. Wenn sich eine dieser Ressourcen ändert, wird das zwischengespeicherte Objekt veraltet und aus dem Cache entfernt.
- cachekeys
- String[]
Ein Array von Cacheschlüsseln, die das neue Objekt auf Änderungen überwacht. Wenn sich eines dieser Cacheschlüssel ändert, wird das diesem Abhängigkeitsobjekt zugeordnete zwischengespeicherte Objekt veraltet und aus dem Cache entfernt.
- dependency
- CacheDependency
Eine andere Instanz der Klasse, von der CacheDependency diese Instanz abhängig ist.
- start
- DateTime
Die Uhrzeit, zu der das Datum der letzten Änderung der Objekte in den Arrays und des CacheDependency Objekts überprüft werden soll.
Beispiele
Das folgende Codebeispiel zeigt eine CreateDependency Methode. Wenn diese Methode aufgerufen wird, wird ein DateTime Objekt erstellt, und die Cache.Item[] Eigenschaft wird verwendet, um dem Cache ein Element mit einem Schlüsselparameter key1 und einem Wert von Value 1hinzuzufügen. Ein Array von Zeichenfolgen dependencyKeywird dann mit dem Wert am ersten (und einzigen) Index erstellt, der auch auf den Wert festgelegt key1 ist. Der CacheDependency.CacheDependency Konstruktor wird dann zum Erstellen eines CacheDependency Objekts verwendet, dep1das als Parameterargument übergeben wird dependencyKey . Anschließend wird mithilfe dieses Konstruktors ein zweites CacheDependency Objekt dep2erstellt, und dep1 das DateTime als Parameterargumente übergebene Objekt. Diese zweite Abhängigkeit hängt von der ersten Abhängigkeit ab, und die Abhängigkeitsüberwachung beginnt 10 Sekunden, nachdem die CreateDependency Methode aufgerufen wurde. Die Cache.Insert Methode wird als nächstes aufgerufen, wobei das zweite CacheDependency Objekt als Parameter verwendet wird. Wenn sich die erste Abhängigkeit auf irgendeine Weise ändert, wird das zwischengespeicherte Element ungültig.
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();
}
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
Hinweise
Wenn eines der im filenames Parameter angegebenen Verzeichnisse oder Dateien im Dateisystem nicht gefunden wird, wird sie ebenfalls als fehlender Wert behandelt. Wenn ein Verzeichnis oder eine Datei fehlt, wenn das Objekt mit der Abhängigkeit dem CacheObjekt hinzugefügt wird, wird das zwischengespeicherte Objekt beim Cache Erstellen dieses Verzeichnisses oder dieser Datei entfernt.
Angenommen, Sie fügen dem Cache Objekt eine Abhängigkeit vom folgenden Dateipfad hinzu: c:\stocks\xyz.dat. Wenn diese Datei beim Erstellen des CacheDependency Objekts nicht gefunden wird, aber später erstellt wird, wird das zwischengespeicherte Objekt beim Erstellen der xyz.dat-Datei entfernt.
cachekeys Die Abhängigkeit funktioniert jedoch nicht auf die gleiche Weise. Wenn zum Zeitpunkt eines Einfügens mindestens ein Wert im cachekeys Parameter nicht vorhanden ist, schlägt das Einfügen fehl. Beachten Sie, dass für dieses Szenario keine Ausnahme ausgelöst wird.
Note
Die Änderungsnachverfolgung beginnt sofort und basiert nicht direkt auf dem start Parameter. Verwenden Sie den start Parameter, um ein Datum und eine Uhrzeit in der Vergangenheit zu übergeben, mit dem Sie das Datum der letzten Änderung eines der Objekte überprüfen möchten, die in den filenames, cachekeysoder dependency Parametern übergeben wurden. Wenn das Datum der letzten Änderung für eines dieser Objekte später als das Datum und die Uhrzeit liegt, das start im Parameter übergeben wird, wird das zwischengespeicherte Element aus dem Cache.