CacheDependency Costruttori

Definizione

Inizializza una nuova istanza della classe CacheDependency.

Overload

Nome Descrizione
CacheDependency()

Inizializza una nuova istanza della classe CacheDependency.

CacheDependency(String)

Inizializza una nuova istanza della CacheDependency classe che monitora un file o una directory per le modifiche.

CacheDependency(String[])

Inizializza una nuova istanza della CacheDependency classe che monitora una matrice di percorsi (a file o directory) per le modifiche.

CacheDependency(String, DateTime)

Inizializza una nuova istanza della CacheDependency classe che monitora un file o una directory per le modifiche.

CacheDependency(String[], DateTime)

Inizializza una nuova istanza della CacheDependency classe che monitora una matrice di percorsi (a file o directory) per le modifiche e specifica un'ora di inizio del monitoraggio delle modifiche.

CacheDependency(String[], String[])

Inizializza una nuova istanza della CacheDependency classe che monitora una matrice di percorsi (per file o directory), una matrice di chiavi della cache o entrambe per le modifiche.

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

Inizializza una nuova istanza della CacheDependency classe che monitora una matrice di percorsi (per file o directory), una matrice di chiavi della cache o entrambe per le modifiche.

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

Inizializza una nuova istanza della CacheDependency classe che monitora una matrice di percorsi (per file o directory), una matrice di chiavi della cache o entrambe per le modifiche. Dipende anche da un'istanza separata della CacheDependency classe .

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

Inizializza una nuova istanza della CacheDependency classe che monitora una matrice di percorsi (per file o directory), una matrice di chiavi della cache o entrambe per le modifiche. Dipende anche da un'altra istanza della CacheDependency classe e da un'ora in cui inizia il monitoraggio delle modifiche.

CacheDependency()

Inizializza una nuova istanza della classe CacheDependency.

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

Esempio

L'esempio di codice seguente è una classe che implementa questa versione del CacheDependency costruttore come tutte le classi che derivano da CacheDependency sono necessarie a .

' 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

Commenti

Se si vuole derivare la propria classe da CacheDependency, implementare questa versione del CacheDependency costruttore.

Vedi anche

Si applica a

CacheDependency(String)

Inizializza una nuova istanza della CacheDependency classe che monitora un file o una directory per le modifiche.

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)

Parametri

filename
String

Percorso di un file o di una directory da cui dipende l'oggetto memorizzato nella cache. Quando questa risorsa cambia, l'oggetto memorizzato nella cache diventa obsoleto e viene rimosso dalla cache.

Esempio

Nell'esempio di codice seguente viene creata un'istanza della CacheDependency classe con una dipendenza da un file XML. Il Cache.Insert metodo aggiunge quindi un elemento all'oggetto Cache che dipende da tale file.

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)

È anche possibile usare la tecnica seguente per aggiungere un elemento a Cache con una dipendenza da un file.

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

Commenti

Se la directory o il filename file specificato nel parametro non viene trovato nel file system, verrà considerato mancante. Se la directory o il file non è presente quando l'oggetto con la dipendenza viene aggiunto a Cache, l'oggetto memorizzato nella cache verrà rimosso da quando Cache viene creata la directory o il file.

Si supponga, ad esempio, di aggiungere un oggetto a Cache con una dipendenza dal percorso del file seguente: c:\stock\xyz.dat. Se il file non viene trovato al momento della creazione dell'oggetto CacheDependency , ma viene creato in un secondo momento, l'oggetto memorizzato nella cache viene rimosso al momento della creazione del file xyz.dat.

Vedi anche

Si applica a

CacheDependency(String[])

Inizializza una nuova istanza della CacheDependency classe che monitora una matrice di percorsi (a file o directory) per le modifiche.

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

Parametri

filenames
String[]

Matrice di percorsi (per file o directory) da cui dipende l'oggetto memorizzato nella cache. Quando una di queste risorse cambia, l'oggetto memorizzato nella cache diventa obsoleto e viene rimosso dalla cache.

Esempio

Nell'esempio di codice seguente viene illustrato come usare il Cache.Insert metodo per aggiungere un elemento a Cache con dipendenze da una matrice di file. È anche possibile rendere l'elemento dipendente da una matrice di directory.

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

Commenti

Se uno dei file o delle directory nella matrice cambia o viene rimosso dalla matrice, l'elemento memorizzato nella cache diventa obsoleto e viene rimosso dall'oggetto dell'applicazione Cache .

Inoltre, se una delle directory o dei file specificati nel filenames parametro non viene trovata nel file system, viene considerata mancante. Se manca una directory o un file quando l'oggetto con la dipendenza viene aggiunto a Cache, l'oggetto memorizzato nella cache verrà rimosso dalla directory o dal Cache file creato.

Si supponga, ad esempio, di aggiungere un oggetto a Cache con una dipendenza dal percorso del file seguente: c:\stock\xyz.dat. Se il file non viene trovato al momento della creazione dell'oggetto CacheDependency , ma viene creato in un secondo momento, l'oggetto memorizzato nella cache viene rimosso al momento della creazione del file xyz.dat.

Note

Quando si crea la matrice contenente le dipendenze del file, è necessario definire il numero di file da cui dipende l'elemento Cache da aggiungere.

Vedi anche

Si applica a

CacheDependency(String, DateTime)

Inizializza una nuova istanza della CacheDependency classe che monitora un file o una directory per le modifiche.

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)

Parametri

filename
String

Percorso di un file o di una directory da cui dipende l'oggetto memorizzato nella cache. Quando questa risorsa cambia, l'oggetto memorizzato nella cache diventa obsoleto e viene rimosso dalla cache.

start
DateTime

Ora in base alla quale controllare la data dell'ultima modifica della directory o del file.

Esempio

Nell'esempio di codice seguente viene usato questo costruttore per creare un'istanza di un CacheDependency oggetto e quindi inserisce un elemento in Cache con tale dipendenza. Il dt valore passato nel start parametro è impostato su 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 

Commenti

Se la directory o il filename file specificato nel parametro non viene trovato nel file system, verrà considerato mancante. Se la directory o il file non è presente quando l'oggetto con la dipendenza viene aggiunto a Cache, l'oggetto memorizzato nella cache verrà rimosso da quando Cache viene creata la directory o il file.

Si supponga, ad esempio, di aggiungere un oggetto a Cache con una dipendenza dal percorso del file seguente: c:\stock\xyz.dat. Se il file non viene trovato al momento della creazione dell'oggetto CacheDependency , ma viene creato in un secondo momento, l'oggetto memorizzato nella cache viene rimosso al momento della creazione del file xyz.dat.

Note

Il rilevamento delle modifiche inizia immediatamente e non è direttamente basato sul start parametro . Usare il start parametro per passare una data e un'ora nel passato rispetto alla quale si desidera controllare la data dell'ultima modifica della directory o del file passato nel filename parametro . Se la data dell'ultima modifica è successiva al set di data e ora passato nel start parametro , l'elemento memorizzato nella cache viene rimosso da Cache.

Vedi anche

Si applica a

CacheDependency(String[], DateTime)

Inizializza una nuova istanza della CacheDependency classe che monitora una matrice di percorsi (a file o directory) per le modifiche e specifica un'ora di inizio del monitoraggio delle modifiche.

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)

Parametri

filenames
String[]

Matrice di percorsi (per file o directory) da cui dipende l'oggetto memorizzato nella cache. Quando una di queste risorse cambia, l'oggetto memorizzato nella cache diventa obsoleto e viene rimosso dalla cache.

start
DateTime

Ora in base alla quale controllare la data dell'ultima modifica degli oggetti nella matrice.

Esempio

Nell'esempio di codice seguente viene creato un CacheDependency oggetto che passa due file XML e un DateTime.Now valore quando l'oggetto viene incluso come argomento di parametro in una Cache.Insert chiamata al metodo.

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

Commenti

Se una delle directory o dei file specificati nel filenames parametro non viene trovata nel file system, viene considerata mancante. Se manca una directory o un file quando l'oggetto con la dipendenza viene aggiunto a Cache, l'oggetto memorizzato nella cache verrà rimosso dalla directory o dal Cache file creato.

Si supponga, ad esempio, di aggiungere un oggetto a Cache con una dipendenza dal percorso del file seguente: c:\stock\xyz.dat. Se il file non viene trovato al momento della creazione dell'oggetto CacheDependency , ma viene creato in un secondo momento, l'oggetto memorizzato nella cache viene rimosso al momento della creazione del file xyz.dat.

Note

Il rilevamento delle modifiche inizia immediatamente e non è direttamente basato sul start parametro . Usare il start parametro per passare una data e un'ora nel passato rispetto alla quale si desidera controllare la data dell'ultima modifica della matrice passata nel filenames parametro . Se la data dell'ultima modifica di un oggetto nella matrice è successiva alla data e all'ora impostata passata nel start parametro , l'elemento memorizzato nella cache viene rimosso da Cache.

Vedi anche

Si applica a

CacheDependency(String[], String[])

Inizializza una nuova istanza della CacheDependency classe che monitora una matrice di percorsi (per file o directory), una matrice di chiavi della cache o entrambe per le modifiche.

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

Parametri

filenames
String[]

Matrice di percorsi (per file o directory) da cui dipende l'oggetto memorizzato nella cache. Quando una di queste risorse cambia, l'oggetto memorizzato nella cache diventa obsoleto e viene rimosso dalla cache.

cachekeys
String[]

Matrice di chiavi della cache monitorate dal nuovo oggetto per le modifiche. Quando una di queste chiavi della cache viene modificata, l'oggetto memorizzato nella cache associato a questo oggetto di dipendenza diventa obsoleto e viene rimosso dalla cache.

Esempio

Il frammento di codice seguente illustra come inserire un elemento nell'applicazione Cache con una dipendenza da una chiave a un altro elemento inserito nella cache. Poiché questo metodo usa la sintassi della matrice, è necessario definire il numero di chiavi su cui dipende l'elemento Cache da aggiungere.

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

Commenti

Inoltre, se una delle directory o dei file specificati nel filenames parametro non viene trovata nel file system, viene considerata mancante. Se manca una directory o un file quando l'oggetto con la dipendenza viene aggiunto a Cache, l'oggetto memorizzato nella cache verrà rimosso dalla directory o dal Cache file creato.

Si supponga, ad esempio, di aggiungere un oggetto a Cache con una dipendenza dal percorso del file seguente: c:\stock\xyz.dat. Se il file non viene trovato al momento della creazione dell'oggetto CacheDependency , ma viene creato in un secondo momento, l'oggetto memorizzato nella cache viene rimosso al momento della creazione del file xyz.dat.

Tuttavia, la cachekeys dipendenza non funziona allo stesso modo. Se almeno un valore nel cachekeys parametro non esiste al momento di un inserimento, l'inserimento ha esito negativo. Si noti che non viene generata alcuna eccezione per questo scenario.

Vedi anche

Si applica a

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

Inizializza una nuova istanza della CacheDependency classe che monitora una matrice di percorsi (per file o directory), una matrice di chiavi della cache o entrambe per le modifiche.

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)

Parametri

filenames
String[]

Matrice di percorsi (per file o directory) da cui dipende l'oggetto memorizzato nella cache. Quando una di queste risorse cambia, l'oggetto memorizzato nella cache diventa obsoleto e viene rimosso dalla cache.

cachekeys
String[]

Matrice di chiavi della cache monitorate dal nuovo oggetto per le modifiche. Quando una di queste chiavi della cache viene modificata, l'oggetto memorizzato nella cache associato a questo oggetto di dipendenza diventa obsoleto e viene rimosso dalla cache.

start
DateTime

Data e ora in base alla quale controllare la data dell'ultima modifica degli oggetti passati nelle filenames matrici e cachekeys .

Esempio

Nell'esempio di codice seguente viene creato un CreateDependency metodo . Quando questo metodo viene chiamato, crea un DateTime oggetto e la Cache.Item[] proprietà viene usata per aggiungere un elemento alla cache con un key parametro di key1 e un valore di Value 1. Viene quindi creata una matrice di stringhe, dependencyKey, con il valore di key1 . Questo CacheDependency costruttore crea quindi un'istanza di un CacheDependency oggetto che passa dependencyKey e l'oggetto DateTime come argomenti di parametro. Il Cache.Insert metodo viene chiamato next, usando l'oggetto CacheDependency come parametro. Ciò rende l'oggetto aggiunto alla cache usando il Insert metodo dipendente dalla key1 chiave.

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

Commenti

Inoltre, se una delle directory o dei file specificati nel filenames parametro non viene trovata nel file system, viene considerata mancante. Se manca una directory o un file quando l'oggetto con la dipendenza viene aggiunto a Cache, l'oggetto memorizzato nella cache verrà rimosso dalla directory o dal Cache file creato.

Si supponga, ad esempio, di aggiungere un oggetto a Cache con una dipendenza dal percorso del file seguente: c:\stock\xyz.dat. Se il file non viene trovato al momento della creazione dell'oggetto CacheDependency , ma viene creato in un secondo momento, l'oggetto memorizzato nella cache viene rimosso al momento della creazione del file xyz.dat.

Tuttavia, la cachekeys dipendenza non funziona allo stesso modo. Se almeno un valore nel cachekeys parametro non esiste al momento di un inserimento, l'inserimento ha esito negativo. Si noti che non viene generata alcuna eccezione per questo scenario.

Note

Il rilevamento delle modifiche inizia immediatamente e non è direttamente basato sul start parametro . Usare il start parametro per passare una data e un'ora nel passato rispetto alla quale si desidera controllare la data dell'ultima modifica di qualsiasi oggetto passato nei filenames parametri o cachekeys . Se la data dell'ultima modifica di uno di questi oggetti è successiva alla data e all'ora passata nel start parametro , l'elemento memorizzato nella cache viene rimosso da Cache.

Vedi anche

Si applica a

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

Inizializza una nuova istanza della CacheDependency classe che monitora una matrice di percorsi (per file o directory), una matrice di chiavi della cache o entrambe per le modifiche. Dipende anche da un'istanza separata della CacheDependency classe .

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)

Parametri

filenames
String[]

Matrice di percorsi (per file o directory) da cui dipende l'oggetto memorizzato nella cache. Quando una di queste risorse cambia, l'oggetto memorizzato nella cache diventa obsoleto e viene rimosso dalla cache.

cachekeys
String[]

Matrice di chiavi della cache monitorate dal nuovo oggetto per le modifiche. Quando una di queste chiavi della cache viene modificata, l'oggetto memorizzato nella cache associato a questo oggetto di dipendenza diventa obsoleto e viene rimosso dalla cache.

dependency
CacheDependency

Un'altra istanza della CacheDependency classe da cui dipende questa istanza.

Esempio

Nell'esempio di codice seguente viene creato un CreateDependency metodo . Quando questo metodo viene chiamato, usa la Cache.Item[] proprietà per aggiungere un elemento alla cache con un key parametro di key1 e un valore di Value 1. Viene quindi creata una matrice di stringhe, dependencyKey, con il valore di key1 . Il CacheDependency.CacheDependency costruttore viene usato per creare un CacheDependency oggetto , dep1, che passa dependencyKey come argomento di parametro. Un secondo CacheDependency oggetto, dep2, viene creato usando questo costruttore, con dep1 passato come terzo argomento di parametro. Questa seconda dipendenza dipende dal primo. Il Cache.Insert metodo viene chiamato next, usando il secondo CacheDependency oggetto come parametro. Se la prima dipendenza cambia in qualsiasi modo, l'elemento memorizzato nella cache verrà invalidato.

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

Commenti

Inoltre, se una delle directory o dei file specificati nel filenames parametro non viene trovata nel file system, viene considerata mancante. Se manca una directory o un file quando l'oggetto con la dipendenza viene aggiunto a Cache, l'oggetto memorizzato nella cache verrà rimosso dalla directory o dal Cache file creato.

Si supponga, ad esempio, di aggiungere un oggetto a Cache con una dipendenza dal percorso del file seguente: c:\stock\xyz.dat. Se il file non viene trovato al momento della creazione dell'oggetto CacheDependency , ma viene creato in un secondo momento, l'oggetto memorizzato nella cache viene rimosso al momento della creazione del file xyz.dat.

Tuttavia, la cachekeys dipendenza non funziona allo stesso modo. Se almeno un valore nel cachekeys parametro non esiste al momento di un inserimento, l'inserimento ha esito negativo. Si noti che non viene generata alcuna eccezione per questo scenario.

Si applica a

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

Inizializza una nuova istanza della CacheDependency classe che monitora una matrice di percorsi (per file o directory), una matrice di chiavi della cache o entrambe per le modifiche. Dipende anche da un'altra istanza della CacheDependency classe e da un'ora in cui inizia il monitoraggio delle modifiche.

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)

Parametri

filenames
String[]

Matrice di percorsi (per file o directory) da cui dipende l'oggetto memorizzato nella cache. Quando una di queste risorse cambia, l'oggetto memorizzato nella cache diventa obsoleto e viene rimosso dalla cache.

cachekeys
String[]

Matrice di chiavi della cache monitorate dal nuovo oggetto per le modifiche. Quando una di queste chiavi della cache viene modificata, l'oggetto memorizzato nella cache associato a questo oggetto di dipendenza diventa obsoleto e viene rimosso dalla cache.

dependency
CacheDependency

Un'altra istanza della CacheDependency classe da cui dipende questa istanza.

start
DateTime

Ora in base alla quale controllare la data dell'ultima modifica degli oggetti nelle matrici e nell'oggetto CacheDependency .

Esempio

Nell'esempio di codice seguente viene illustrato un CreateDependency metodo . Quando questo metodo viene chiamato, crea un DateTime oggetto e la Cache.Item[] proprietà viene usata per aggiungere un elemento alla cache con un parametro chiave di key1 e un valore di Value 1. Viene quindi creata una matrice di stringhe dependencyKeycon il valore in corrispondenza del primo indice (e solo) impostato sul valore di key1 . Il CacheDependency.CacheDependency costruttore viene quindi usato per creare un CacheDependency oggetto , dep1, che passa dependencyKey come argomento di parametro. Un secondo CacheDependency oggetto, dep2, viene quindi creato usando questo costruttore, con dep1 e l'oggetto DateTime passato come argomenti di parametro. Questa seconda dipendenza dipende dal primo e il monitoraggio delle dipendenze inizierà 10 secondi dopo la chiamata del CreateDependency metodo. Il Cache.Insert metodo viene chiamato next, usando il secondo CacheDependency oggetto come parametro. Se la prima dipendenza cambia in qualsiasi modo, l'elemento memorizzato nella cache verrà invalidato.

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

Commenti

Inoltre, se una delle directory o dei file specificati nel filenames parametro non viene trovata nel file system, viene considerata mancante. Se manca una directory o un file quando l'oggetto con la dipendenza viene aggiunto a Cache, l'oggetto memorizzato nella cache verrà rimosso dalla directory o dal Cache file creato.

Si supponga, ad esempio, di aggiungere un oggetto a Cache con una dipendenza dal percorso del file seguente: c:\stock\xyz.dat. Se il file non viene trovato al momento della creazione dell'oggetto CacheDependency , ma viene creato in un secondo momento, l'oggetto memorizzato nella cache viene rimosso al momento della creazione del file xyz.dat.

Tuttavia, la cachekeys dipendenza non funziona allo stesso modo. Se almeno un valore nel cachekeys parametro non esiste al momento di un inserimento, l'inserimento ha esito negativo. Si noti che non viene generata alcuna eccezione per questo scenario.

Note

Il rilevamento delle modifiche inizia immediatamente e non è direttamente basato sul start parametro . Usare il start parametro per passare una data e un'ora nel passato rispetto alla quale si desidera controllare la data dell'ultima modifica di uno degli oggetti passati nei filenamesparametri , cachekeyso dependency . Se la data dell'ultima modifica per uno di questi oggetti è successiva alla data e all'ora trascorsa nel start parametro , l'elemento memorizzato nella cache viene rimosso da Cache.

Vedi anche

Si applica a