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, von denen abgeleitet CacheDependency wird, 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.

Siehe auch

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. Anschließend Cache.Insert wird der Methode ein Element hinzugefügt, 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 Element Cache 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 filename Parameter angegebene Verzeichnis oder Datei nicht im Dateisystem gefunden wird, wird es als fehlender Wert 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 Objekt Cache 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 nach der Erstellung der xyz.dat-Datei entfernt.

Siehe auch

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 Sie mithilfe der Cache.Insert Methode ein Element zu den Cache Abhängigkeiten eines Arrays von Dateien hinzufü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 verzeichnisse oder Dateien, die filenames im Parameter angegeben sind, im Dateisystem nicht gefunden wird, wird sie auch als fehlt 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 der Datei entfernt.

Angenommen, Sie fügen dem Objekt Cache 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 nach 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 Cache das Element, das Sie hinzufügen, abhängig ist.

Siehe auch

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 Objekt instanziieren und dann ein CacheDependency 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 filename Parameter angegebene Verzeichnis oder Datei nicht im Dateisystem gefunden wird, wird es als fehlender Wert 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 Objekt Cache 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 nach 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, mit der Sie das zuletzt geänderte Datum des Verzeichnisses oder der filename datei überprüfen möchten, das im Parameter übergeben wurde. Wenn das datum der letzten Änderung später als das datum und die uhrzeitsatz, der start im Parameter übergeben wurde, wird das zwischengespeicherte Element aus dem Cache.

Siehe auch

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 verzeichnisse oder Dateien, die filenames im Parameter angegeben sind, nicht im Dateisystem gefunden wird, wird sie als fehlt 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 der Datei entfernt.

Angenommen, Sie fügen dem Objekt Cache 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 nach 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, mit der Sie das zuletzt geänderte Datum des Arrays überprüfen möchten, das im filenames Parameter übergeben wird. Wenn das letzte Änderungsdatum eines Objekts im Array später als das datums- und uhrzeitset ist, das start im Parameter übergeben wird, wird das zwischengespeicherte Element aus dem Cache.

Siehe auch

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 in die Anwendung Cache mit einer Abhängigkeit von einem Schlüssel zu einem anderen Element einfügen, das im Cache platziert ist. Da diese Methode Arraysyntax verwendet, müssen Sie die Anzahl der Schlüssel definieren, auf 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 verzeichnisse oder Dateien, die filenames im Parameter angegeben sind, im Dateisystem nicht gefunden wird, wird sie auch als fehlt 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 der Datei entfernt.

Angenommen, Sie fügen dem Objekt Cache 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 nach der Erstellung der xyz.dat-Datei entfernt.

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

Siehe auch

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, erstellt sie ein Objekt und die Cache.Item[] Eigenschaft wird verwendet, um dem Cache ein DateTime Element mit einem Parameter und key1 einem key Wert Value 1hinzuzufügen. Ein Array von Zeichenfolgen, dependencyKeywird dann mit dem Wert von key1 ebenfalls erstellt. Dieser CacheDependency Konstruktor instanziiert dann ein CacheDependency Objekt, das übergibt und das DateTime Objekt als Parameterargumente übergeben dependencyKey wird. Die Methode wird als nächstes aufgerufen, indem das Cache.Insert CacheDependency Objekt als Parameter verwendet wird. Dadurch wird das Objekt dem Cache mithilfe Insert der key1 Methode hinzugefügt, die vom Schlüssel abhängig ist.

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 verzeichnisse oder Dateien, die filenames im Parameter angegeben sind, im Dateisystem nicht gefunden wird, wird sie auch als fehlt 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 der Datei entfernt.

Angenommen, Sie fügen dem Objekt Cache 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 nach der Erstellung der xyz.dat-Datei entfernt.

cachekeys Die Abhängigkeit funktioniert jedoch nicht auf die gleiche Weise. Wenn mindestens ein Wert im cachekeys Parameter zum Zeitpunkt eines Einfügens nicht vorhanden ist, schlägt das Einfügen 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, mit dem Sie das datum der letzten Änderung eines Objekts überprüfen möchten, das an den oder cachekeys den filenames Parametern übergeben wurde. Wenn das datum der letzten Änderung eines dieser Objekte später als das Datum und die uhrzeitsatz ist, der start im Parameter übergeben wird, wird das zwischengespeicherte Element aus dem Cache.

Siehe auch

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 einem Parameter und key1 einem key Wert Value 1hinzuzufügen. Ein Array von Zeichenfolgen, dependencyKeywird dann mit dem Wert von key1 ebenfalls erstellt. Der CacheDependency.CacheDependency Konstruktor wird verwendet, um ein CacheDependency Objekt zu erstellen, dep1das als Parameterargument übergeben wird dependencyKey . Ein zweites Objekt, wird mithilfe dieses Konstruktors erstellt, dep2das dep1 als drittes CacheDependency Parameterargument übergeben wird. Diese zweite Abhängigkeit ist abhängig vom ersten. Die Methode wird als nächstes aufgerufen, indem das Cache.Insert 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 auch eine der im Parameter angegebenen Verzeichnisse oder Dateien nicht im filenames Dateisystem gefunden wird, wird sie als fehlendes Behandelt. Wenn ein Verzeichnis oder eine Datei fehlt, wenn das Objekt mit der Abhängigkeit dem Objekt hinzugefügt Cachewird, wird das zwischengespeicherte Objekt aus dem Cache zeitpunkt der Erstellung des Verzeichnisses oder der Datei entfernt.

Angenommen, Sie fügen dem folgenden Dateipfad ein Objekt Cache hinzu: c:\stocks\xyz.dat. Wenn diese Datei nicht gefunden wird, wenn das CacheDependency Objekt erstellt wird, aber später erstellt wird, wird das zwischengespeicherte Objekt nach der Erstellung der xyz.dat-Datei entfernt.

cachekeys Die Abhängigkeit funktioniert jedoch nicht auf dieselbe Weise. Wenn mindestens ein Wert im cachekeys Parameter zum Zeitpunkt eines Einfügens 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 (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, erstellt sie ein Objekt und die Cache.Item[] Eigenschaft wird verwendet, um dem Cache ein DateTime Element mit einem Schlüsselparameter key1 und einem Wert Value 1hinzuzufügen. Ein Array von Zeichenfolgen, wird dann mit dem Wert am ersten (und nur) Index erstellt, dependencyKeyder auf den Wert festgelegt key1 ist. Der CacheDependency.CacheDependency Konstruktor wird dann zum Erstellen eines CacheDependency Objekts verwendet, dep1das als Parameterargument übergeben wird dependencyKey . Ein zweites CacheDependency Objekt, dep2wird dann mithilfe dieses Konstruktors erstellt und dep1 das DateTime Objekt als Parameterargumente übergeben. Diese zweite Abhängigkeit hängt vom ersten ab, und die Abhängigkeitsüberwachung beginnt 10 Sekunden nach dem Aufruf der CreateDependency Methode. Die Methode wird als nächstes aufgerufen, indem das Cache.Insert 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 auch eine der im Parameter angegebenen Verzeichnisse oder Dateien nicht im filenames Dateisystem gefunden wird, wird sie als fehlendes Behandelt. Wenn ein Verzeichnis oder eine Datei fehlt, wenn das Objekt mit der Abhängigkeit dem Objekt hinzugefügt Cachewird, wird das zwischengespeicherte Objekt aus dem Cache zeitpunkt der Erstellung des Verzeichnisses oder der Datei entfernt.

Angenommen, Sie fügen dem folgenden Dateipfad ein Objekt Cache hinzu: c:\stocks\xyz.dat. Wenn diese Datei nicht gefunden wird, wenn das CacheDependency Objekt erstellt wird, aber später erstellt wird, wird das zwischengespeicherte Objekt nach der Erstellung der xyz.dat-Datei entfernt.

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

Hinweis

Die Änderungsverfolgung 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 der Sie das zuletzt geänderte Datum eines der objekte überprüfen möchten, die in den filenames, cachekeysoder dependency parametern übergeben wurden. Wenn das letzte Änderungsdatum für eine dieser Objekte höher ist als das Datum und die Uhrzeit, die im Parameter übergeben wurde, wird das zwischengespeicherte Element aus dem start CacheEntfernt.

Siehe auch

Gilt für