Condividi tramite


CacheDependency Costruttori

Definizione

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 , dep1che 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, cachekeyso 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.

Vedi anche

Si applica a