CacheDependency Costruttori
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Inizializza una nuova istanza della classe CacheDependency.
Overload
CacheDependency() |
Inizializza una nuova istanza della classe CacheDependency. |
CacheDependency(String) |
Inizializza una nuova istanza della classe CacheDependency che verifica la presenza di modifiche in un file o in una directory. |
CacheDependency(String[]) |
Inizializza una nuova istanza della classe CacheDependency che verifica la presenza di modifiche in una matrice di percorsi di file o directory. |
CacheDependency(String, DateTime) |
Inizializza una nuova istanza della classe CacheDependency che verifica la presenza di modifiche in un file o in una directory. |
CacheDependency(String[], DateTime) |
Inizializza una nuova istanza della classe CacheDependency che verifica la presenza di modifiche in una matrice di percorsi di file o directory e specifica un orario di inizio della verifica delle modifiche. |
CacheDependency(String[], String[]) |
Inizializza una nuova istanza della classe CacheDependency che verifica la presenza di modifiche in una matrice di percorsi di file o directory e/o in una matrice di chiavi di cache. |
CacheDependency(String[], String[], DateTime) |
Inizializza una nuova istanza della classe CacheDependency che verifica la presenza di modifiche in una matrice di percorsi di file o directory e/o in una matrice di chiavi di cache. |
CacheDependency(String[], String[], CacheDependency) |
Inizializza una nuova istanza della classe CacheDependency che verifica la presenza di modifiche in una matrice di percorsi di file o directory e/o in una matrice di chiavi di cache. Si rende inoltre dipendente da un'istanza separata della classe CacheDependency. |
CacheDependency(String[], String[], CacheDependency, DateTime) |
Inizializza una nuova istanza della classe CacheDependency che verifica la presenza di modifiche in una matrice di percorsi di file o directory e/o in una matrice di chiavi di cache. Si rende inoltre dipendente da un'altra istanza della classe CacheDependency e dall'orario di inizio della verifica 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.
' 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 classe CacheDependency che verifica la presenza di modifiche in un file o in una directory.
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 viene modificata, l'oggetto memorizzato nella cache diviene obsoleto e viene rimosso.
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 dipendente 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 all'oggetto 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 file specificato nel filename
parametro non viene trovato nel file system, verrà considerato mancante. Se la directory o il file mancano quando l'oggetto con la dipendenza viene aggiunto all'oggetto Cache, l'oggetto memorizzato nella cache verrà rimosso dalla Cache directory o dal file creato.
Ad esempio, si supponga che si aggiunge un oggetto per il Cache con una dipendenza dal seguente percorso di file: c:\stocks\xyz.dat. Se il file non viene trovato quando l'oggetto viene creato, ma viene creato in un secondo momento, l'oggetto CacheDependency memorizzato nella cache viene rimosso alla creazione del file xyz.dat.
Vedi anche
Si applica a
CacheDependency(String[])
Inizializza una nuova istanza della classe CacheDependency che verifica la presenza di modifiche in una matrice di percorsi di file o directory.
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 di file o directory da cui dipende l'oggetto memorizzato nella cache. Quando una di queste risorse viene modificata, l'oggetto memorizzato nella cache diviene obsoleto e viene rimosso.
Esempio
Nell'esempio di codice seguente viene illustrato come usare il Cache.Insert metodo per aggiungere un elemento alle Cache dipendenze di 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 parametro non viene trovata nel filenames
file system, viene considerata mancante. Se manca una directory o un file quando l'oggetto con la dipendenza viene aggiunto all'oggetto Cache, l'oggetto memorizzato nella cache verrà rimosso dalla directory o dal Cache file creato.
Ad esempio, si supponga che si aggiunge un oggetto per il Cache con una dipendenza dal seguente percorso di file: c:\stocks\xyz.dat. Se il file non viene trovato quando l'oggetto viene creato, ma viene creato in un secondo momento, l'oggetto CacheDependency memorizzato nella cache viene rimosso alla creazione del file xyz.dat.
Nota
Quando si crea la matrice che contiene le dipendenze dei file, è necessario definire il numero di file che l'elemento che si aggiunge all'oggetto Cache dipende.
Vedi anche
Si applica a
CacheDependency(String, DateTime)
Inizializza una nuova istanza della classe CacheDependency che verifica la presenza di modifiche in un file o in una directory.
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 viene modificata, l'oggetto memorizzato nella cache diviene obsoleto e viene rimosso.
- start
- DateTime
Ora rispetto alla quale verificare la data dell'ultima modifica apportata alla directory o al file.
Esempio
Nell'esempio di codice seguente viene usato questo costruttore per creare un'istanza di un oggetto, quindi inserisce un CacheDependency elemento nell'oggetto 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 file specificato nel filename
parametro non viene trovato nel file system, verrà considerato mancante. Se la directory o il file mancano quando l'oggetto con la dipendenza viene aggiunto all'oggetto Cache, l'oggetto memorizzato nella cache verrà rimosso dalla Cache directory o dal file creato.
Ad esempio, si supponga che si aggiunge un oggetto per il Cache con una dipendenza dal seguente percorso di file: c:\stocks\xyz.dat. Se il file non viene trovato quando l'oggetto viene creato, ma viene creato in un secondo momento, l'oggetto CacheDependency memorizzato nella cache viene rimosso alla creazione del file xyz.dat.
Nota
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 in cui si vuole controllare l'ultima data modificata della directory o del file passato nel filename
parametro. Se l'ultima data modifica è successiva alla data e all'ora passata nel start
parametro, l'elemento memorizzato nella cache viene rimosso dall'oggetto Cache.
Vedi anche
Si applica a
CacheDependency(String[], DateTime)
Inizializza una nuova istanza della classe CacheDependency che verifica la presenza di modifiche in una matrice di percorsi di file o directory e specifica un orario di inizio della verifica 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 di file o directory da cui dipende l'oggetto memorizzato nella cache. Quando una di queste risorse viene modificata, l'oggetto memorizzato nella cache diviene obsoleto e viene rimosso.
- start
- DateTime
Ora rispetto alla quale verificare la data dell'ultima modifica apportata agli 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 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 parametro non viene trovata nel filenames
file system, viene considerata mancante. Se manca una directory o un file quando l'oggetto con la dipendenza viene aggiunto all'oggetto Cache, l'oggetto memorizzato nella cache verrà rimosso dalla directory o dal Cache file creato.
Ad esempio, si supponga che si aggiunge un oggetto per il Cache con una dipendenza dal seguente percorso di file: c:\stocks\xyz.dat. Se il file non viene trovato quando l'oggetto viene creato, ma viene creato in un secondo momento, l'oggetto CacheDependency memorizzato nella cache viene rimosso alla creazione del file xyz.dat.
Nota
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 vuole controllare l'ultima data modificata della matrice passata nel filenames
parametro. Se l'ultima data modificata di qualsiasi oggetto nella matrice è successiva alla data e all'ora impostata passata nel start
parametro, l'elemento memorizzato nella cache viene rimosso dall'oggetto Cache.
Vedi anche
Si applica a
CacheDependency(String[], String[])
Inizializza una nuova istanza della classe CacheDependency che verifica la presenza di modifiche in una matrice di percorsi di file o directory e/o in una matrice di chiavi di cache.
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 di file o directory da cui dipende l'oggetto memorizzato nella cache. Quando una di queste risorse viene modificata, l'oggetto memorizzato nella cache diviene obsoleto e viene rimosso.
- cachekeys
- String[]
Matrice di chiavi della cache in cui il nuovo oggetto verifica la presenza di modifiche. Quando una di queste chiavi della cache viene modificata, l'oggetto memorizzato nella cache associato a questo oggetto di dipendenza diviene 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 in cui l'elemento Cache aggiunto è dipendente.
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 parametro non viene trovata nel filenames
file system, viene considerata mancante. Se manca una directory o un file quando l'oggetto con la dipendenza viene aggiunto all'oggetto Cache, l'oggetto memorizzato nella cache verrà rimosso dalla directory o dal Cache file creato.
Ad esempio, si supponga che si aggiunge un oggetto per il Cache con una dipendenza dal seguente percorso di file: c:\stocks\xyz.dat. Se il file non viene trovato quando l'oggetto viene creato, ma viene creato in un secondo momento, l'oggetto CacheDependency memorizzato nella cache viene rimosso alla 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 esiste alcuna eccezione generata per questo scenario.
Vedi anche
Si applica a
CacheDependency(String[], String[], DateTime)
Inizializza una nuova istanza della classe CacheDependency che verifica la presenza di modifiche in una matrice di percorsi di file o directory e/o in una matrice di chiavi di cache.
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 di file o directory da cui dipende l'oggetto memorizzato nella cache. Quando una di queste risorse viene modificata, l'oggetto memorizzato nella cache diviene obsoleto e viene rimosso.
- cachekeys
- String[]
Matrice di chiavi della cache in cui il nuovo oggetto verifica la presenza di modifiche. Quando una di queste chiavi della cache viene modificata, l'oggetto memorizzato nella cache associato a questo oggetto di dipendenza diviene obsoleto e viene rimosso dalla cache.
- start
- DateTime
Data e ora per verificare la data dell'ultima modifica apportata agli oggetti passati nelle matrici filenames
e cachekeys
.
Esempio
Nell'esempio di codice seguente viene creato un CreateDependency
metodo. Quando viene chiamato questo metodo, 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
. Una matrice di stringhe, dependencyKey
, viene quindi creata 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 dei parametri. Il Cache.Insert metodo viene chiamato avanti, 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 parametro non viene trovata nel filenames
file system, viene considerata mancante. Se manca una directory o un file quando l'oggetto con la dipendenza viene aggiunto all'oggetto Cache, l'oggetto memorizzato nella cache verrà rimosso dalla directory o dal Cache file creato.
Ad esempio, si supponga che si aggiunge un oggetto per il Cache con una dipendenza dal seguente percorso di file: c:\stocks\xyz.dat. Se il file non viene trovato quando l'oggetto viene creato, ma viene creato in un secondo momento, l'oggetto CacheDependency memorizzato nella cache viene rimosso alla 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 esiste alcuna eccezione generata per questo scenario.
Nota
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 vuole controllare l'ultima data modificata di qualsiasi oggetto passato nei filenames
parametri o cachekeys
. Se l'ultima data modificata di uno di questi oggetti è successiva alla data e all'ora impostata passato nel start
parametro, l'elemento memorizzato nella cache viene rimosso dall'oggetto Cache.
Vedi anche
Si applica a
CacheDependency(String[], String[], CacheDependency)
Inizializza una nuova istanza della classe CacheDependency che verifica la presenza di modifiche in una matrice di percorsi di file o directory e/o in una matrice di chiavi di cache. Si rende inoltre dipendente da un'istanza separata della classe CacheDependency.
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 di file o directory da cui dipende l'oggetto memorizzato nella cache. Quando una di queste risorse viene modificata, l'oggetto memorizzato nella cache diviene obsoleto e viene rimosso.
- cachekeys
- String[]
Matrice di chiavi della cache in cui il nuovo oggetto verifica la presenza di modifiche. Quando una di queste chiavi della cache viene modificata, l'oggetto memorizzato nella cache associato a questo oggetto di dipendenza diviene obsoleto e viene rimosso dalla cache.
- dependency
- CacheDependency
Altra istanza della classe CacheDependency da cui dipende questa istanza.
Esempio
Nell'esempio di codice seguente viene creato un CreateDependency
metodo. Quando viene chiamato questo metodo, usa la Cache.Item[] proprietà per aggiungere un elemento alla cache con un key
parametro di key1
e un valore di Value 1
. Una matrice di stringhe, dependencyKey
, viene quindi creata 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 del parametro. Questa seconda dipendenza dipende dal primo. Il Cache.Insert metodo viene chiamato avanti, 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 parametro non viene trovata nel filenames
file system, viene considerata mancante. Se manca una directory o un file quando l'oggetto con la dipendenza viene aggiunto all'oggetto Cache, l'oggetto memorizzato nella cache verrà rimosso dalla directory o dal Cache file creato.
Ad esempio, si supponga che si aggiunge un oggetto per il Cache con una dipendenza dal seguente percorso di file: c:\stocks\xyz.dat. Se il file non viene trovato quando l'oggetto viene creato, ma viene creato in un secondo momento, l'oggetto CacheDependency memorizzato nella cache viene rimosso alla 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 esiste alcuna eccezione generata per questo scenario.
Si applica a
CacheDependency(String[], String[], CacheDependency, DateTime)
Inizializza una nuova istanza della classe CacheDependency che verifica la presenza di modifiche in una matrice di percorsi di file o directory e/o in una matrice di chiavi di cache. Si rende inoltre dipendente da un'altra istanza della classe CacheDependency e dall'orario di inizio della verifica 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 di file o directory da cui dipende l'oggetto memorizzato nella cache. Quando una di queste risorse viene modificata, l'oggetto memorizzato nella cache diviene obsoleto e viene rimosso.
- cachekeys
- String[]
Matrice di chiavi della cache in cui il nuovo oggetto verifica la presenza di modifiche. Quando una di queste chiavi della cache viene modificata, l'oggetto memorizzato nella cache associato a questo oggetto di dipendenza diviene obsoleto e viene rimosso dalla cache.
- dependency
- CacheDependency
Altra istanza della classe CacheDependency da cui dipende questa istanza.
- start
- DateTime
Ora per verificare la data dell'ultima modifica apportata agli oggetti nelle matrici e oggetto CacheDependency.
Esempio
Nell'esempio di codice seguente viene illustrato un CreateDependency
metodo. Quando viene chiamato questo metodo, 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
. Una matrice di stringhe, dependencyKey
, viene quindi creata con 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 e dep1
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 al CreateDependency
metodo. Il Cache.Insert metodo viene chiamato avanti, 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 parametro non viene trovata nel filenames
file system, viene considerata mancante. Se manca una directory o un file quando l'oggetto con la dipendenza viene aggiunto all'oggetto Cache, l'oggetto memorizzato nella cache verrà rimosso dalla directory o dal Cache file creato.
Ad esempio, si supponga che si aggiunge un oggetto per il Cache con una dipendenza dal seguente percorso di file: c:\stocks\xyz.dat. Se il file non viene trovato quando l'oggetto viene creato, ma viene creato in un secondo momento, l'oggetto CacheDependency memorizzato nella cache viene rimosso alla 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 esiste alcuna eccezione generata per questo scenario.
Nota
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 in cui si vuole controllare l'ultima data modificata di uno degli oggetti passati in filenames
, cachekeys
o dependency
parametri. Se l'ultima data modificata per uno di questi oggetti è successiva alla data e all'ora trascorsa nel start
parametro, l'elemento memorizzato nella cache viene rimosso dall'oggetto Cache.