Freigeben über


CacheDependency Konstruktoren

Definition

Initialisiert eine neue Instanz der CacheDependency-Klasse.

Überlädt

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 (zu Dateien oder Verzeichnissen) auf Ä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 (zu Dateien oder Verzeichnissen) auf Änderungen überwacht, und gibt an, wann die Änderungsüberwachung beginnt.

CacheDependency(String[], String[])

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.

CacheDependency(String[], String[], 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.

CacheDependency(String[], String[], CacheDependency)

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 separaten Instanz der CacheDependency-Klasse hergestellt.

CacheDependency(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.

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, die von CacheDependency abgeleitet werden, 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 von CacheDependencyableiten mö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 einer Datei oder eines Verzeichnisses, von der bzw. dem das zwischengespeicherte Objekt abhängig ist. Wenn diese Ressource geändert wird, ist das zwischengespeicherte Objekt veraltet und wird 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 von dieser Cache 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 ein Element mit einer Abhängigkeit von einer Datei hinzuzufügen Cache .

// 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 filename datei nicht im Dateisystem gefunden wird, wird es als fehlend behandelt. Wenn das Verzeichnis oder die Datei fehlt, wenn das Objekt mit der Abhängigkeit dem Cachehinzugefügt wird, wird das zwischengespeicherte Objekt aus dem Cache entfernt, wenn das Verzeichnis oder die Datei erstellt wird.

Angenommen, Sie fügen dem ein -Objekt Cache mit einer Abhängigkeit vom folgenden Dateipfad hinzu: c:\stocks\xyz.dat. Wenn diese Datei beim Erstellen des CacheDependency Objekts nicht gefunden wird, sondern später erstellt wird, wird das zwischengespeicherte Objekt bei der Erstellung der xyz.dat Datei entfernt.

Weitere Informationen

Gilt für:

CacheDependency(String[])

Initialisiert eine neue Instanz der CacheDependency-Klasse, die ein Array von Pfaden (zu Dateien oder Verzeichnissen) auf Ä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 (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.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die Cache.Insert -Methode verwendet wird, um der Cache ein Element mit Abhängigkeiten von einem Array von Dateien hinzuzufügen. Sie können das Element auch von einem Array von Verzeichnissen abhängig 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 -Parameter angegebenen Verzeichnisse oder Dateien im filenames Dateisystem nicht gefunden wird, wird es als fehlend behandelt. Wenn ein Verzeichnis oder eine Datei fehlt, wenn das Objekt mit der Abhängigkeit dem Cachehinzugefügt wird, wird das zwischengespeicherte Objekt aus dem entfernt, wenn das Verzeichnis oder die Cache Datei erstellt wird.

Angenommen, Sie fügen dem ein -Objekt Cache mit einer Abhängigkeit vom folgenden Dateipfad hinzu: c:\stocks\xyz.dat. Wenn diese Datei beim Erstellen des CacheDependency Objekts nicht gefunden wird, sondern später erstellt wird, wird das zwischengespeicherte Objekt bei der Erstellung der xyz.dat Datei entfernt.

Hinweis

Wenn Sie das Array erstellen, das die Dateiabhängigkeiten enthält, müssen Sie die Anzahl der Dateien definieren, von denen das Element, dem Cache 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 einer Datei oder eines Verzeichnisses, von der bzw. dem das zwischengespeicherte Objekt abhängig ist. Wenn diese Ressource geändert wird, ist das zwischengespeicherte Objekt veraltet und wird aus dem Cache entfernt.

start
DateTime

Die Zeit, mit der das Datum der letzten Änderung des Verzeichnisses oder der Datei verglichen werden soll.

Beispiele

Im folgenden Codebeispiel wird dieser Konstruktor verwendet, um ein CacheDependency -Objekt zu instanziieren, und fügt dann ein Element mit dieser Abhängigkeit in die Cache ein. Der dt im start Parameter übergebene Wert ist auf DateTime.Nowfestgelegt.

// 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 filename datei nicht im Dateisystem gefunden wird, wird es als fehlend behandelt. Wenn das Verzeichnis oder die Datei fehlt, wenn das Objekt mit der Abhängigkeit dem Cachehinzugefügt wird, wird das zwischengespeicherte Objekt aus dem Cache entfernt, wenn das Verzeichnis oder die Datei erstellt wird.

Angenommen, Sie fügen dem ein -Objekt Cache mit einer Abhängigkeit vom folgenden Dateipfad hinzu: c:\stocks\xyz.dat. Wenn diese Datei beim Erstellen des CacheDependency Objekts nicht gefunden wird, sondern später erstellt wird, wird das zwischengespeicherte Objekt bei der Erstellung der xyz.dat Datei entfernt.

Hinweis

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 derer Sie das Datum der letzten Änderung des Verzeichnisses oder der Datei überprüfen möchten, das bzw. die im filename Parameter übergeben wurde. Wenn das Datum der letzten Änderung höher als der im start Parameter übergebene Datums- und Uhrzeitsatz ist, wird das zwischengespeicherte Element aus dem Cacheentfernt.

Weitere Informationen

Gilt für:

CacheDependency(String[], DateTime)

Initialisiert eine neue Instanz der CacheDependency-Klasse, die ein Array von Pfaden (zu Dateien oder Verzeichnissen) auf Änderungen überwacht, und gibt an, wann 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 (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.

start
DateTime

Die Zeit, mit der das Datum der letzten Änderung der Objekte im Array verglichen 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 im Dateisystem nicht gefunden wird, wird es als fehlend behandelt. Wenn ein Verzeichnis oder eine Datei fehlt, wenn das Objekt mit der Abhängigkeit dem Cachehinzugefügt wird, wird das zwischengespeicherte Objekt aus dem entfernt, wenn das Verzeichnis oder die Cache Datei erstellt wird.

Angenommen, Sie fügen dem ein -Objekt Cache mit einer Abhängigkeit vom folgenden Dateipfad hinzu: c:\stocks\xyz.dat. Wenn diese Datei beim Erstellen des CacheDependency Objekts nicht gefunden wird, sondern später erstellt wird, wird das zwischengespeicherte Objekt bei der Erstellung der xyz.dat Datei entfernt.

Hinweis

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 derer 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 höher als der im Parameter übergebene start Datums- und Uhrzeitsatz ist, wird das zwischengespeicherte Element aus dem Cacheentfernt.

Weitere Informationen

Gilt für:

CacheDependency(String[], String[])

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.

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 (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
String[]

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.

Beispiele

Das folgende Codefragment veranschaulicht, wie Sie ein Element mit einer Abhängigkeit von einem Schlüssel zu einem anderen Element, das im Cache platziert ist, in ihre Anwendung Cache einfügen. Da diese Methode Arraysyntax verwendet, müssen Sie die Anzahl der Schlüssel definieren, von denen das Element, dem Cache Sie hinzufügen, 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 -Parameter angegebenen Verzeichnisse oder Dateien im filenames Dateisystem nicht gefunden wird, wird es als fehlend behandelt. Wenn ein Verzeichnis oder eine Datei fehlt, wenn das Objekt mit der Abhängigkeit dem Cachehinzugefügt wird, wird das zwischengespeicherte Objekt aus dem entfernt, wenn das Verzeichnis oder die Cache Datei erstellt wird.

Angenommen, Sie fügen dem ein -Objekt Cache mit einer Abhängigkeit vom folgenden Dateipfad hinzu: c:\stocks\xyz.dat. Wenn diese Datei beim Erstellen des CacheDependency Objekts nicht gefunden wird, sondern später erstellt wird, wird das zwischengespeicherte Objekt bei der Erstellung der xyz.dat Datei entfernt.

Die Abhängigkeit funktioniert jedoch cachekeys nicht auf die gleiche Weise. Wenn mindestens ein Wert im cachekeys Parameter zum Zeitpunkt einer Einfügung nicht vorhanden ist, schlägt die Einfügung 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 (zu 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 (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
String[]

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.

start
DateTime

Datum und Uhrzeit, mit denen das Datum der letzten Änderung der im filenames-Array und im cachekeys-Array übergebenen Objekte verglichen werden soll.

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 dem key Parameter key1 und dem Wert von Value 1hinzuzufügen. Anschließend wird ein Array von Zeichenfolgen mit dependencyKeydem Wert von key1 erstellt. Dieser CacheDependency Konstruktor instanziiert dann ein CacheDependency -Objekt, das und das DateTime -Objekt als Parameterargumente übergibtdependencyKey. Die Cache.Insert -Methode wird als Nächstes aufgerufen, wobei das CacheDependency -Objekt als Parameter verwendet wird. Dadurch ist das Objekt, das dem Cache mithilfe der -Methode hinzugefügt wird, Insert vom key1 Schlüssel abhängig.

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 -Parameter angegebenen Verzeichnisse oder Dateien im filenames Dateisystem nicht gefunden wird, wird es als fehlend behandelt. Wenn ein Verzeichnis oder eine Datei fehlt, wenn das Objekt mit der Abhängigkeit dem Cachehinzugefügt wird, wird das zwischengespeicherte Objekt aus dem entfernt, wenn das Verzeichnis oder die Cache Datei erstellt wird.

Angenommen, Sie fügen dem ein -Objekt Cache mit einer Abhängigkeit vom folgenden Dateipfad hinzu: c:\stocks\xyz.dat. Wenn diese Datei beim Erstellen des CacheDependency Objekts nicht gefunden wird, sondern später erstellt wird, wird das zwischengespeicherte Objekt bei der Erstellung der xyz.dat Datei entfernt.

Die Abhängigkeit funktioniert jedoch cachekeys nicht auf die gleiche Weise. Wenn mindestens ein Wert im cachekeys Parameter zum Zeitpunkt einer Einfügung nicht vorhanden ist, schlägt die Einfügung fehl. Beachten Sie, dass für dieses Szenario keine Ausnahme ausgelöst wird.

Hinweis

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 derer Sie das Datum der letzten Änderung eines Objekts überprüfen möchten, das in den filenames Parametern oder cachekeys übergeben wurde. Wenn das Datum der letzten Änderung eines dieser Objekte nach dem im start Parameter übergebenen Datums- und Uhrzeitsatz liegt, wird das zwischengespeicherte Element aus dem Cacheentfernt.

Weitere Informationen

Gilt für:

CacheDependency(String[], String[], CacheDependency)

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 separaten Instanz der CacheDependency-Klasse hergestellt.

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 (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
String[]

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
CacheDependency

Eine andere Instanz der CacheDependency-Klasse, von dem 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 dem key Parameter key1 und dem Wert von Value 1hinzuzufügen. Anschließend wird ein Array von Zeichenfolgen mit dependencyKeydem Wert von key1 erstellt. Der CacheDependency.CacheDependency Konstruktor wird verwendet, um ein CacheDependency -Objekt zu erstellen, dep1das als Parameterargument übergibt dependencyKey . Mit diesem Konstruktor wird ein zweites CacheDependency Objekt dep2erstellt, das dep1 als drittes Parameterargument übergeben wird. Diese zweite Abhängigkeit hängt von der ersten abhängigkeit 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 in irgendeiner 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 -Parameter angegebenen Verzeichnisse oder Dateien im filenames Dateisystem nicht gefunden wird, wird es als fehlend behandelt. Wenn ein Verzeichnis oder eine Datei fehlt, wenn das Objekt mit der Abhängigkeit dem Cachehinzugefügt wird, wird das zwischengespeicherte Objekt aus dem entfernt, wenn das Verzeichnis oder die Cache Datei erstellt wird.

Angenommen, Sie fügen dem ein -Objekt Cache mit einer Abhängigkeit vom folgenden Dateipfad hinzu: c:\stocks\xyz.dat. Wenn diese Datei beim Erstellen des CacheDependency Objekts nicht gefunden wird, sondern später erstellt wird, wird das zwischengespeicherte Objekt bei der Erstellung der xyz.dat Datei entfernt.

Die Abhängigkeit funktioniert jedoch cachekeys nicht auf die gleiche Weise. Wenn mindestens ein Wert im cachekeys Parameter zum Zeitpunkt einer Einfügung nicht vorhanden ist, schlägt die Einfügung 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 (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.

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 (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
String[]

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
CacheDependency

Eine andere Instanz der CacheDependency-Klasse, von dem diese Instanz abhängig ist.

start
DateTime

Die Zeit, mit der das Datum der letzten Änderung der Objekte in den Arrays und des CacheDependency-Objekts verglichen 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 dem Schlüsselparameter key1 und dem Wert von Value 1hinzuzufügen. Anschließend wird ein Array von Zeichenfolgen erstellt, dependencyKeywobei der Wert am ersten (und einzigen) Index ebenfalls auf den Wert von key1 festgelegt ist. Der CacheDependency.CacheDependency Konstruktor wird dann verwendet, um ein CacheDependency -Objekt zu erstellen, dep1das als Parameterargument übergibt dependencyKey . Anschließend wird mit diesem Konstruktor ein zweites CacheDependency -Objekt dep2erstellt, wobei dep1 und das DateTime -Objekt als Parameterargumente übergeben werden. Diese zweite Abhängigkeit ist von der ersten abhängig, und die Abhängigkeitsüberwachung beginnt 10 Sekunden nach dem Aufruf der CreateDependency -Methode. Die Cache.Insert -Methode wird als Nächstes aufgerufen, wobei das zweite CacheDependency Objekt als Parameter verwendet wird. Wenn sich die erste Abhängigkeit in irgendeiner 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 -Parameter angegebenen Verzeichnisse oder Dateien im filenames Dateisystem nicht gefunden wird, wird es als fehlend behandelt. Wenn ein Verzeichnis oder eine Datei fehlt, wenn das Objekt mit der Abhängigkeit dem Cachehinzugefügt wird, wird das zwischengespeicherte Objekt aus dem entfernt, wenn das Verzeichnis oder die Cache Datei erstellt wird.

Angenommen, Sie fügen dem ein -Objekt Cache mit einer Abhängigkeit vom folgenden Dateipfad hinzu: c:\stocks\xyz.dat. Wenn diese Datei beim Erstellen des CacheDependency Objekts nicht gefunden wird, sondern später erstellt wird, wird das zwischengespeicherte Objekt bei der Erstellung der xyz.dat Datei entfernt.

Die Abhängigkeit funktioniert jedoch cachekeys nicht auf die gleiche Weise. Wenn mindestens ein Wert im cachekeys Parameter zum Zeitpunkt einer Einfügung nicht vorhanden ist, schlägt die Einfügung fehl. Beachten Sie, dass für dieses Szenario keine Ausnahme ausgelöst wird.

Hinweis

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 derer Sie das Datum der letzten Änderung eines der Objekte überprüfen möchten, die in den filenamesParametern , cachekeysoder dependency übergeben wurden. Wenn das Datum der letzten Änderung für eines dieser Objekte höher als das im Parameter übergebene Datum und Die start Uhrzeit liegt, wird das zwischengespeicherte Element aus dem Cacheentfernt.

Weitere Informationen

Gilt für: