CacheDependency Constructors

Definitie

Initialiseert een nieuw exemplaar van de CacheDependency klasse.

Overloads

Name Description
CacheDependency()

Initialiseert een nieuw exemplaar van de CacheDependency klasse.

CacheDependency(String)

Initialiseert een nieuw exemplaar van de CacheDependency klasse die een bestand of map bewaakt op wijzigingen.

CacheDependency(String[])

Initialiseert een nieuw exemplaar van de CacheDependency klasse waarmee een matrix van paden (naar bestanden of mappen) wordt bewaakt voor wijzigingen.

CacheDependency(String, DateTime)

Initialiseert een nieuw exemplaar van de CacheDependency klasse die een bestand of map bewaakt op wijzigingen.

CacheDependency(String[], DateTime)

Initialiseert een nieuw exemplaar van de CacheDependency klasse die een matrix van paden bewaakt (naar bestanden of mappen) voor wijzigingen en geeft een tijdstip aan waarop de bewaking van wijzigingen begint.

CacheDependency(String[], String[])

Initialiseert een nieuw exemplaar van de CacheDependency klasse die een matrix van paden bewaakt (naar bestanden of mappen), een matrix met cachesleutels of beide voor wijzigingen.

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

Initialiseert een nieuw exemplaar van de CacheDependency klasse die een matrix van paden bewaakt (naar bestanden of mappen), een matrix met cachesleutels of beide voor wijzigingen.

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

Initialiseert een nieuw exemplaar van de CacheDependency klasse die een matrix van paden bewaakt (naar bestanden of mappen), een matrix met cachesleutels of beide voor wijzigingen. Het maakt zichzelf ook afhankelijk van een afzonderlijk exemplaar van de CacheDependency klasse.

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

Initialiseert een nieuw exemplaar van de CacheDependency klasse die een matrix van paden bewaakt (naar bestanden of mappen), een matrix met cachesleutels of beide voor wijzigingen. Het maakt zichzelf ook afhankelijk van een ander exemplaar van de CacheDependency klasse en een tijdstip waarop de wijzigingscontrole begint.

CacheDependency()

Initialiseert een nieuw exemplaar van de CacheDependency klasse.

protected:
 CacheDependency();
protected CacheDependency();
Protected Sub New ()

Voorbeelden

Het volgende codevoorbeeld is een klasse die deze versie van de CacheDependency constructor implementeert als alle klassen die zijn afgeleid van CacheDependency , zijn vereist voor.

' 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

Opmerkingen

Als u uw eigen klasse wilt afleiden uit CacheDependency, implementeert u deze versie van de CacheDependency constructor.

Zie ook

Van toepassing op

CacheDependency(String)

Initialiseert een nieuw exemplaar van de CacheDependency klasse die een bestand of map bewaakt op wijzigingen.

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)

Parameters

filename
String

Het pad naar een bestand of map waarop het object in de cache is gebaseerd. Wanneer deze resource wordt gewijzigd, wordt het object in de cache verouderd en verwijderd uit de cache.

Voorbeelden

In het volgende codevoorbeeld wordt een exemplaar van de CacheDependency klasse gemaakt met een afhankelijkheid van een XML-bestand. De Cache.Insert methode voegt vervolgens een item toe aan het Cache item dat afhankelijk is van dat bestand.

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)

U kunt ook de volgende techniek gebruiken om een item toe te voegen aan het Cache item met een afhankelijkheid van een bestand.

// 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

Opmerkingen

Als de map of het bestand dat is opgegeven in de filename parameter niet in het bestandssysteem wordt gevonden, wordt deze behandeld als ontbrekend. Als de map of het bestand ontbreekt wanneer het object met de afhankelijkheid wordt toegevoegd aan de Cachemap, wordt het object in de cache verwijderd uit het Cache moment dat de map of het bestand wordt gemaakt.

Stel dat u een object toevoegt aan het Cache object met een afhankelijkheid van het volgende bestandspad: c:\stocks\xyz.dat. Als dat bestand niet wordt gevonden wanneer het CacheDependency object wordt gemaakt, maar later wordt gemaakt, wordt het object in de cache verwijderd bij het maken van het xyz.dat-bestand.

Zie ook

Van toepassing op

CacheDependency(String[])

Initialiseert een nieuw exemplaar van de CacheDependency klasse waarmee een matrix van paden (naar bestanden of mappen) wordt bewaakt voor wijzigingen.

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())

Parameters

filenames
String[]

Een matrix van paden (naar bestanden of mappen) waarvan het object in de cache afhankelijk is. Wanneer een van deze resources wordt gewijzigd, wordt het object in de cache verouderd en verwijderd uit de cache.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u de Cache.Insert methode gebruikt om een item toe te voegen aan het Cache item met afhankelijkheden van een matrix met bestanden. U kunt het item ook afhankelijk maken van een matrix met mappen.

    // 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

Opmerkingen

Als een van de bestanden of mappen in de matrix verandert of uit de matrix wordt verwijderd, wordt het item in de cache verouderd en wordt het verwijderd uit het object van Cache de toepassing.

Als een van de mappen of bestanden die zijn opgegeven in de filenames parameter niet in het bestandssysteem wordt gevonden, wordt deze behandeld als ontbrekend. Als een map of bestand ontbreekt wanneer het object met de afhankelijkheid wordt toegevoegd aan het Cacheobject, wordt het object in de cache verwijderd uit de Cache map of het bestand dat wordt gemaakt.

Stel dat u een object toevoegt aan het Cache object met een afhankelijkheid van het volgende bestandspad: c:\stocks\xyz.dat. Als dat bestand niet wordt gevonden wanneer het CacheDependency object wordt gemaakt, maar later wordt gemaakt, wordt het object in de cache verwijderd bij het maken van het xyz.dat-bestand.

Note

Wanneer u de matrix maakt die de bestandsafhankelijkheden bevat, moet u het aantal bestanden definiëren waarvan het item dat u toevoegt Cache , afhankelijk is van.

Zie ook

Van toepassing op

CacheDependency(String, DateTime)

Initialiseert een nieuw exemplaar van de CacheDependency klasse die een bestand of map bewaakt op wijzigingen.

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)

Parameters

filename
String

Het pad naar een bestand of map waarop het object in de cache is gebaseerd. Wanneer deze resource wordt gewijzigd, wordt het object in de cache verouderd en verwijderd uit de cache.

start
DateTime

De tijd waarop de datum van de laatste wijziging van de map of het bestand moet worden gecontroleerd.

Voorbeelden

In het volgende codevoorbeeld wordt deze constructor gebruikt om een CacheDependency object te instantiëren en vervolgens een item in de afhankelijkheid in te Cache voegen. De dt waarde die in de start parameter wordt doorgegeven, is ingesteld op 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 

Opmerkingen

Als de map of het bestand dat is opgegeven in de filename parameter niet in het bestandssysteem wordt gevonden, wordt deze behandeld als ontbrekend. Als de map of het bestand ontbreekt wanneer het object met de afhankelijkheid wordt toegevoegd aan de Cachemap, wordt het object in de cache verwijderd uit het Cache moment dat de map of het bestand wordt gemaakt.

Stel dat u een object toevoegt aan het Cache object met een afhankelijkheid van het volgende bestandspad: c:\stocks\xyz.dat. Als dat bestand niet wordt gevonden wanneer het CacheDependency object wordt gemaakt, maar later wordt gemaakt, wordt het object in de cache verwijderd bij het maken van het xyz.dat-bestand.

Note

Wijzigingen bijhouden begint onmiddellijk en is niet rechtstreeks gebaseerd op de start parameter. Gebruik de start parameter om een datum en tijd in het verleden door te geven waarvoor u de laatst gewijzigde datum van de map of het bestand wilt controleren dat is doorgegeven in de filename parameter. Als de laatst gewijzigde datum later is dan de datum en tijd die is ingesteld in de start parameter, wordt het item in de cache verwijderd uit de Cacheparameter.

Zie ook

Van toepassing op

CacheDependency(String[], DateTime)

Initialiseert een nieuw exemplaar van de CacheDependency klasse die een matrix van paden bewaakt (naar bestanden of mappen) voor wijzigingen en geeft een tijdstip aan waarop de bewaking van wijzigingen begint.

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)

Parameters

filenames
String[]

Een matrix van paden (naar bestanden of mappen) waarvan het object in de cache afhankelijk is. Wanneer een van deze resources wordt gewijzigd, wordt het object in de cache verouderd en verwijderd uit de cache.

start
DateTime

De tijd waarop de laatst gewijzigde datum van de objecten in de matrix moet worden gecontroleerd.

Voorbeelden

In het volgende codevoorbeeld wordt een CacheDependency object gemaakt dat twee XML-bestanden doorgeeft en een DateTime.Now waarde wanneer het object wordt opgenomen als parameterargument in een Cache.Insert methodeaanroep.

// 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

Opmerkingen

Als een van de mappen of bestanden die zijn opgegeven in de filenames parameter niet in het bestandssysteem wordt gevonden, wordt deze behandeld als ontbrekend. Als een map of bestand ontbreekt wanneer het object met de afhankelijkheid wordt toegevoegd aan het Cacheobject, wordt het object in de cache verwijderd uit de Cache map of het bestand dat wordt gemaakt.

Stel dat u een object toevoegt aan het Cache object met een afhankelijkheid van het volgende bestandspad: c:\stocks\xyz.dat. Als dat bestand niet wordt gevonden wanneer het CacheDependency object wordt gemaakt, maar later wordt gemaakt, wordt het object in de cache verwijderd bij het maken van het xyz.dat-bestand.

Note

Wijzigingen bijhouden begint onmiddellijk en is niet rechtstreeks gebaseerd op de start parameter. Gebruik de start parameter om een datum en tijd in het verleden door te geven waarop u de laatst gewijzigde datum van de matrix wilt controleren die in de filenames parameter is doorgegeven. Als de laatst gewijzigde datum van een object in de matrix later is dan de datum en tijd die is doorgegeven in de start parameter, wordt het item in de cache verwijderd uit de Cache.

Zie ook

Van toepassing op

CacheDependency(String[], String[])

Initialiseert een nieuw exemplaar van de CacheDependency klasse die een matrix van paden bewaakt (naar bestanden of mappen), een matrix met cachesleutels of beide voor wijzigingen.

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())

Parameters

filenames
String[]

Een matrix van paden (naar bestanden of mappen) waarvan het object in de cache afhankelijk is. Wanneer een van deze resources wordt gewijzigd, wordt het object in de cache verouderd en verwijderd uit de cache.

cachekeys
String[]

Een matrix met cachesleutels die door het nieuwe object worden gecontroleerd op wijzigingen. Wanneer een van deze cachesleutels wordt gewijzigd, wordt het object in de cache dat aan dit afhankelijkheidsobject is gekoppeld, verouderd en verwijderd uit de cache.

Voorbeelden

Het volgende codefragment laat zien hoe u een item invoegt in uw toepassing Cache met een afhankelijkheid van een sleutel naar een ander item dat in de cache is geplaatst. Omdat deze methode matrixsyntaxis gebruikt, moet u het aantal sleutels definiëren waarop het item dat u toevoegt Cache , afhankelijk is.

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

Opmerkingen

Als een van de mappen of bestanden die zijn opgegeven in de filenames parameter niet in het bestandssysteem wordt gevonden, wordt deze behandeld als ontbrekend. Als een map of bestand ontbreekt wanneer het object met de afhankelijkheid wordt toegevoegd aan het Cacheobject, wordt het object in de cache verwijderd uit de Cache map of het bestand dat wordt gemaakt.

Stel dat u een object toevoegt aan het Cache object met een afhankelijkheid van het volgende bestandspad: c:\stocks\xyz.dat. Als dat bestand niet wordt gevonden wanneer het CacheDependency object wordt gemaakt, maar later wordt gemaakt, wordt het object in de cache verwijderd bij het maken van het xyz.dat-bestand.

De cachekeys afhankelijkheid werkt echter niet op dezelfde manier. Als ten minste één waarde in de cachekeys parameter niet bestaat op het moment van invoegen, mislukt de invoegbewerking. Er is geen uitzondering opgetreden voor dit scenario.

Zie ook

Van toepassing op

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

Initialiseert een nieuw exemplaar van de CacheDependency klasse die een matrix van paden bewaakt (naar bestanden of mappen), een matrix met cachesleutels of beide voor wijzigingen.

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)

Parameters

filenames
String[]

Een matrix van paden (naar bestanden of mappen) waarvan het object in de cache afhankelijk is. Wanneer een van deze resources wordt gewijzigd, wordt het object in de cache verouderd en verwijderd uit de cache.

cachekeys
String[]

Een matrix met cachesleutels die door het nieuwe object worden gecontroleerd op wijzigingen. Wanneer een van deze cachesleutels wordt gewijzigd, wordt het object in de cache dat aan dit afhankelijkheidsobject is gekoppeld, verouderd en verwijderd uit de cache.

start
DateTime

De datum en tijd waarop de laatst gewijzigde datum moet worden gecontroleerd van de objecten die zijn doorgegeven in de filenames en cachekeys matrices.

Voorbeelden

In het volgende codevoorbeeld wordt een CreateDependency methode gemaakt. Wanneer deze methode wordt aangeroepen, wordt er een DateTime object gemaakt en wordt de Cache.Item[] eigenschap gebruikt om een item toe te voegen aan de cache met een key parameter van key1 en een waarde van Value 1. Er wordt vervolgens een matrix met tekenreeksen dependencyKeygemaakt met de waarde van key1 . Met deze CacheDependency constructor wordt vervolgens een CacheDependency object geïnstitueerd dat wordt doorgegeven dependencyKey en het DateTime object als parameterargumenten. De Cache.Insert methode wordt hierna aangeroepen met behulp van het CacheDependency object als parameter. Hierdoor wordt het object aan de cache toegevoegd met behulp van de Insert methode die afhankelijk is van de key1 sleutel.

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

Opmerkingen

Als een van de mappen of bestanden die zijn opgegeven in de filenames parameter niet in het bestandssysteem wordt gevonden, wordt deze behandeld als ontbrekend. Als een map of bestand ontbreekt wanneer het object met de afhankelijkheid wordt toegevoegd aan het Cacheobject, wordt het object in de cache verwijderd uit de Cache map of het bestand dat wordt gemaakt.

Stel dat u een object toevoegt aan het Cache object met een afhankelijkheid van het volgende bestandspad: c:\stocks\xyz.dat. Als dat bestand niet wordt gevonden wanneer het CacheDependency object wordt gemaakt, maar later wordt gemaakt, wordt het object in de cache verwijderd bij het maken van het xyz.dat-bestand.

De cachekeys afhankelijkheid werkt echter niet op dezelfde manier. Als ten minste één waarde in de cachekeys parameter niet bestaat op het moment van invoegen, mislukt de invoegbewerking. Er is geen uitzondering opgetreden voor dit scenario.

Note

Wijzigingen bijhouden begint onmiddellijk en is niet rechtstreeks gebaseerd op de start parameter. Gebruik de start parameter om een datum en tijd in het verleden door te geven waarop u de laatst gewijzigde datum wilt controleren van een object dat is doorgegeven in de filenames of cachekeys parameters. Als de laatst gewijzigde datum van een van deze objecten later is dan de datum en tijd die is doorgegeven in de start parameter, wordt het item in de cache verwijderd uit de Cache.

Zie ook

Van toepassing op

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

Initialiseert een nieuw exemplaar van de CacheDependency klasse die een matrix van paden bewaakt (naar bestanden of mappen), een matrix met cachesleutels of beide voor wijzigingen. Het maakt zichzelf ook afhankelijk van een afzonderlijk exemplaar van de CacheDependency klasse.

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)

Parameters

filenames
String[]

Een matrix van paden (naar bestanden of mappen) waarvan het object in de cache afhankelijk is. Wanneer een van deze resources wordt gewijzigd, wordt het object in de cache verouderd en verwijderd uit de cache.

cachekeys
String[]

Een matrix met cachesleutels die door het nieuwe object worden gecontroleerd op wijzigingen. Wanneer een van deze cachesleutels wordt gewijzigd, wordt het object in de cache dat aan dit afhankelijkheidsobject is gekoppeld, verouderd en verwijderd uit de cache.

dependency
CacheDependency

Een ander exemplaar van de CacheDependency klasse waarvan dit exemplaar afhankelijk is.

Voorbeelden

In het volgende codevoorbeeld wordt een CreateDependency methode gemaakt. Wanneer deze methode wordt aangeroepen, wordt de Cache.Item[] eigenschap gebruikt om een item toe te voegen aan de cache met een key parameter van key1 en een waarde van Value 1. Er wordt vervolgens een matrix met tekenreeksen dependencyKeygemaakt met de waarde van key1 . De CacheDependency.CacheDependency constructor wordt gebruikt om een CacheDependency object te maken, dep1dat als parameterargument wordt doorgegeven dependencyKey . Een tweede CacheDependency object, dep2wordt gemaakt met behulp van deze constructor, met dep1 doorgegeven als het derde parameterargument. Deze tweede afhankelijkheid is afhankelijk van de eerste. De Cache.Insert methode wordt hierna aangeroepen, met behulp van het tweede CacheDependency object als parameter. Als de eerste afhankelijkheid op welke manier dan ook verandert, wordt het item in de cache ongeldig gemaakt.

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

Opmerkingen

Als een van de mappen of bestanden die zijn opgegeven in de filenames parameter niet in het bestandssysteem wordt gevonden, wordt deze behandeld als ontbrekend. Als een map of bestand ontbreekt wanneer het object met de afhankelijkheid wordt toegevoegd aan het Cacheobject, wordt het object in de cache verwijderd uit de Cache map of het bestand dat wordt gemaakt.

Stel dat u een object toevoegt aan het Cache object met een afhankelijkheid van het volgende bestandspad: c:\stocks\xyz.dat. Als dat bestand niet wordt gevonden wanneer het CacheDependency object wordt gemaakt, maar later wordt gemaakt, wordt het object in de cache verwijderd bij het maken van het xyz.dat-bestand.

De cachekeys afhankelijkheid werkt echter niet op dezelfde manier. Als ten minste één waarde in de cachekeys parameter niet bestaat op het moment van invoegen, mislukt de invoegbewerking. Er is geen uitzondering opgetreden voor dit scenario.

Van toepassing op

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

Initialiseert een nieuw exemplaar van de CacheDependency klasse die een matrix van paden bewaakt (naar bestanden of mappen), een matrix met cachesleutels of beide voor wijzigingen. Het maakt zichzelf ook afhankelijk van een ander exemplaar van de CacheDependency klasse en een tijdstip waarop de wijzigingscontrole begint.

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)

Parameters

filenames
String[]

Een matrix van paden (naar bestanden of mappen) waarvan het object in de cache afhankelijk is. Wanneer een van deze resources wordt gewijzigd, wordt het object in de cache verouderd en verwijderd uit de cache.

cachekeys
String[]

Een matrix met cachesleutels die door het nieuwe object worden gecontroleerd op wijzigingen. Wanneer een van deze cachesleutels wordt gewijzigd, wordt het object in de cache dat aan dit afhankelijkheidsobject is gekoppeld, verouderd en verwijderd uit de cache.

dependency
CacheDependency

Een ander exemplaar van de CacheDependency klasse waarvan dit exemplaar afhankelijk is.

start
DateTime

De tijd waarop de laatst gewijzigde datum van de objecten in de matrices en het CacheDependency object moet worden gecontroleerd.

Voorbeelden

In het volgende codevoorbeeld ziet u een CreateDependency methode. Wanneer deze methode wordt aangeroepen, wordt er een DateTime object gemaakt en wordt de Cache.Item[] eigenschap gebruikt om een item toe te voegen aan de cache met een sleutelparameter van key1 en een waarde van Value 1. Een matrix met tekenreeksen, dependencyKeywordt vervolgens gemaakt met de waarde op de eerste (en alleen) index die is ingesteld op de waarde van key1 . De CacheDependency.CacheDependency constructor wordt vervolgens gebruikt om een CacheDependency object te maken, dep1dat wordt doorgegeven dependencyKey als een parameterargument. Er wordt vervolgens een tweede CacheDependency object dep2gemaakt met behulp van deze constructor, waarbij dep1 het DateTime object als parameterargumenten wordt doorgegeven. Deze tweede afhankelijkheid is afhankelijk van de eerste en afhankelijkheidsbewaking begint 10 seconden nadat de CreateDependency methode is aangeroepen. De Cache.Insert methode wordt hierna aangeroepen, met behulp van het tweede CacheDependency object als parameter. Als de eerste afhankelijkheid op welke manier dan ook verandert, wordt het item in de cache ongeldig gemaakt.

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

Opmerkingen

Als een van de mappen of bestanden die zijn opgegeven in de filenames parameter niet in het bestandssysteem wordt gevonden, wordt deze behandeld als ontbrekend. Als een map of bestand ontbreekt wanneer het object met de afhankelijkheid wordt toegevoegd aan het Cacheobject, wordt het object in de cache verwijderd uit de Cache map of het bestand dat wordt gemaakt.

Stel dat u een object toevoegt aan het Cache object met een afhankelijkheid van het volgende bestandspad: c:\stocks\xyz.dat. Als dat bestand niet wordt gevonden wanneer het CacheDependency object wordt gemaakt, maar later wordt gemaakt, wordt het object in de cache verwijderd bij het maken van het xyz.dat-bestand.

De cachekeys afhankelijkheid werkt echter niet op dezelfde manier. Als ten minste één waarde in de cachekeys parameter niet bestaat op het moment van invoegen, mislukt de invoegbewerking. Er is geen uitzondering opgetreden voor dit scenario.

Note

Wijzigingen bijhouden begint onmiddellijk en is niet rechtstreeks gebaseerd op de start parameter. Gebruik de start parameter om een datum en tijd in het verleden door te geven waarop u de laatst gewijzigde datum wilt controleren van een van de objecten die zijn doorgegeven in de filenames, cachekeysof dependency parameters. Als de laatst gewijzigde datum voor een van deze objecten later is dan de datum en tijd die is doorgegeven in de start parameter, wordt het item in de cache verwijderd uit de Cache.

Zie ook

Van toepassing op