CacheDependency Konstruktorer
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Initierar en ny instans av CacheDependency klassen.
Överlagringar
| Name | Description |
|---|---|
| CacheDependency() |
Initierar en ny instans av CacheDependency klassen. |
| CacheDependency(String) |
Initierar en ny instans av CacheDependency klassen som övervakar en fil eller katalog för ändringar. |
| CacheDependency(String[]) |
Initierar en ny instans av CacheDependency klassen som övervakar en matris med sökvägar (till filer eller kataloger) för ändringar. |
| CacheDependency(String, DateTime) |
Initierar en ny instans av CacheDependency klassen som övervakar en fil eller katalog för ändringar. |
| CacheDependency(String[], DateTime) |
Initierar en ny instans av CacheDependency klassen som övervakar en matris med sökvägar (till filer eller kataloger) för ändringar och anger en tid när ändringsövervakningen börjar. |
| CacheDependency(String[], String[]) |
Initierar en ny instans av CacheDependency klassen som övervakar en matris med sökvägar (till filer eller kataloger), en matris med cachenycklar eller båda för ändringar. |
| CacheDependency(String[], String[], DateTime) |
Initierar en ny instans av CacheDependency klassen som övervakar en matris med sökvägar (till filer eller kataloger), en matris med cachenycklar eller båda för ändringar. |
| CacheDependency(String[], String[], CacheDependency) |
Initierar en ny instans av CacheDependency klassen som övervakar en matris med sökvägar (till filer eller kataloger), en matris med cachenycklar eller båda för ändringar. Det gör sig också beroende av en separat instans av CacheDependency klassen. |
| CacheDependency(String[], String[], CacheDependency, DateTime) |
Initierar en ny instans av CacheDependency klassen som övervakar en matris med sökvägar (till filer eller kataloger), en matris med cachenycklar eller båda för ändringar. Det gör sig också beroende av en annan instans av CacheDependency klassen och en tid när ändringsövervakningen börjar. |
CacheDependency()
Initierar en ny instans av CacheDependency klassen.
protected:
CacheDependency();
protected CacheDependency();
Protected Sub New ()
Exempel
Följande kodexempel är en klass som implementerar den CacheDependency här versionen av konstruktorn eftersom alla klasser som härleds från CacheDependency krävs för.
' 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
Kommentarer
Om du vill härleda din egen klass från CacheDependencyimplementerar du den här versionen av CacheDependency konstruktorn.
Se även
Gäller för
CacheDependency(String)
Initierar en ny instans av CacheDependency klassen som övervakar en fil eller katalog för ändringar.
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)
Parametrar
- filename
- String
Sökvägen till en fil eller katalog som det cachelagrade objektet är beroende av. När den här resursen ändras blir det cachelagrade objektet föråldrat och tas bort från cacheminnet.
Exempel
I följande kodexempel skapas en instans av CacheDependency klassen med ett beroende av en XML-fil. Metoden Cache.Insert lägger sedan till ett objekt till Cache som är beroende av filen.
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)
Du kan också använda följande teknik för att lägga till ett objekt i Cache med ett beroende av en fil.
// 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
Kommentarer
Om den katalog eller fil som anges i parametern filename inte hittas i filsystemet behandlas den som saknad. Om katalogen eller filen saknas när objektet med beroendet läggs till i Cachetas det cachelagrade objektet bort från Cache när katalogen eller filen skapas.
Anta till exempel att du lägger till ett objekt i Cache med ett beroende av följande filsökväg: c:\stocks\xyz.dat. Om filen inte hittas när CacheDependency objektet skapas, men skapas senare, tas det cachelagrade objektet bort när den xyz.dat filen skapas.
Se även
Gäller för
CacheDependency(String[])
Initierar en ny instans av CacheDependency klassen som övervakar en matris med sökvägar (till filer eller kataloger) för ändringar.
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())
Parametrar
- filenames
- String[]
En matris med sökvägar (till filer eller kataloger) som det cachelagrade objektet är beroende av. När någon av dessa resurser ändras blir det cachelagrade objektet föråldrat och tas bort från cacheminnet.
Exempel
I följande kodexempel visas hur du använder Cache.Insert metoden för att lägga till ett objekt i Cache med beroenden i en matris med filer. Du kan också göra objektet beroende av en matris med kataloger.
// 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
Kommentarer
Om någon av filerna eller katalogerna i matrisen ändras eller tas bort från matrisen blir det cachelagrade objektet föråldrat och tas bort från programmets Cache objekt.
Om någon av de kataloger eller filer som anges i parametern filenames inte hittas i filsystemet behandlas den som saknad. Om en katalog eller fil saknas när objektet med beroendet läggs till i Cachetas det cachelagrade objektet bort från när Cache katalogen eller filen skapas.
Anta till exempel att du lägger till ett objekt i Cache med ett beroende av följande filsökväg: c:\stocks\xyz.dat. Om filen inte hittas när CacheDependency objektet skapas, men skapas senare, tas det cachelagrade objektet bort när den xyz.dat filen skapas.
Note
När du skapar matrisen som innehåller filberoendena måste du definiera antalet filer som objektet du lägger till Cache i är beroende av.
Se även
Gäller för
CacheDependency(String, DateTime)
Initierar en ny instans av CacheDependency klassen som övervakar en fil eller katalog för ändringar.
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)
Parametrar
- filename
- String
Sökvägen till en fil eller katalog som det cachelagrade objektet är beroende av. När den här resursen ändras blir det cachelagrade objektet föråldrat och tas bort från cacheminnet.
- start
- DateTime
Den tid mot vilken du vill kontrollera det senast ändrade datumet för katalogen eller filen.
Exempel
I följande kodexempel används den här konstruktorn för att instansiera ett CacheDependency objekt och infogar sedan ett objekt i Cache med det beroendet. Värdet dt som skickas i parametern start är inställt på 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
Kommentarer
Om den katalog eller fil som anges i parametern filename inte hittas i filsystemet behandlas den som saknad. Om katalogen eller filen saknas när objektet med beroendet läggs till i Cachetas det cachelagrade objektet bort från Cache när katalogen eller filen skapas.
Anta till exempel att du lägger till ett objekt i Cache med ett beroende av följande filsökväg: c:\stocks\xyz.dat. Om filen inte hittas när CacheDependency objektet skapas, men skapas senare, tas det cachelagrade objektet bort när den xyz.dat filen skapas.
Note
Ändringsspårningen börjar omedelbart och baseras inte direkt på parametern start . Använd parametern start för att skicka ett datum och en tid i det förflutna som du vill kontrollera det senast ändrade datumet för katalogen eller filen som skickades i parametern filename . Om det senast ändrade datumet är senare än datum- och tidsuppsättningen som skickades i parametern start tas det cachelagrade objektet bort från Cache.
Se även
Gäller för
CacheDependency(String[], DateTime)
Initierar en ny instans av CacheDependency klassen som övervakar en matris med sökvägar (till filer eller kataloger) för ändringar och anger en tid när ändringsövervakningen börjar.
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)
Parametrar
- filenames
- String[]
En matris med sökvägar (till filer eller kataloger) som det cachelagrade objektet är beroende av. När någon av dessa resurser ändras blir det cachelagrade objektet föråldrat och tas bort från cacheminnet.
- start
- DateTime
Den tid som det senast ändrade datumet för objekten i matrisen ska kontrolleras.
Exempel
I följande kodexempel skapas ett CacheDependency objekt som skickar två XML-filer och ett DateTime.Now värde när objektet inkluderas som ett parameterargument i ett Cache.Insert metodanrop.
// 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
Kommentarer
Om någon av de kataloger eller filer som anges i parametern filenames inte hittas i filsystemet behandlas den som saknad. Om en katalog eller fil saknas när objektet med beroendet läggs till i Cachetas det cachelagrade objektet bort från när Cache katalogen eller filen skapas.
Anta till exempel att du lägger till ett objekt i Cache med ett beroende av följande filsökväg: c:\stocks\xyz.dat. Om filen inte hittas när CacheDependency objektet skapas, men skapas senare, tas det cachelagrade objektet bort när den xyz.dat filen skapas.
Note
Ändringsspårningen börjar omedelbart och baseras inte direkt på parametern start . Använd parametern start för att skicka ett datum och en tid i det förflutna som du vill kontrollera det senast ändrade datumet för matrisen som skickades i parametern filenames . Om det senast ändrade datumet för ett objekt i matrisen är senare än datum- och tidsuppsättningen som skickades i parametern start tas det cachelagrade objektet bort från Cache.
Se även
Gäller för
CacheDependency(String[], String[])
Initierar en ny instans av CacheDependency klassen som övervakar en matris med sökvägar (till filer eller kataloger), en matris med cachenycklar eller båda för ändringar.
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())
Parametrar
- filenames
- String[]
En matris med sökvägar (till filer eller kataloger) som det cachelagrade objektet är beroende av. När någon av dessa resurser ändras blir det cachelagrade objektet föråldrat och tas bort från cacheminnet.
- cachekeys
- String[]
En matris med cachenycklar som det nya objektet övervakar för ändringar. När någon av dessa cachenycklar ändras blir det cachelagrade objektet som är associerat med det här beroendeobjektet föråldrat och tas bort från cachen.
Exempel
Följande kodfragment visar hur du infogar ett objekt i dina program Cache med ett beroende av en nyckel till ett annat objekt som placeras i cacheminnet. Eftersom den här metoden använder matrissyntax måste du definiera antalet nycklar som objektet du lägger till Cache i är beroende.
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
Kommentarer
Om någon av de kataloger eller filer som anges i parametern filenames inte hittas i filsystemet behandlas den som saknad. Om en katalog eller fil saknas när objektet med beroendet läggs till i Cachetas det cachelagrade objektet bort från när Cache katalogen eller filen skapas.
Anta till exempel att du lägger till ett objekt i Cache med ett beroende av följande filsökväg: c:\stocks\xyz.dat. Om filen inte hittas när CacheDependency objektet skapas, men skapas senare, tas det cachelagrade objektet bort när den xyz.dat filen skapas.
Beroendet cachekeys fungerar dock inte på samma sätt. Om minst ett värde i parametern cachekeys inte finns vid tidpunkten för en infogning misslyckas infogningen. Observera att det inte finns något undantag för det här scenariot.
Se även
Gäller för
CacheDependency(String[], String[], DateTime)
Initierar en ny instans av CacheDependency klassen som övervakar en matris med sökvägar (till filer eller kataloger), en matris med cachenycklar eller båda för ändringar.
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)
Parametrar
- filenames
- String[]
En matris med sökvägar (till filer eller kataloger) som det cachelagrade objektet är beroende av. När någon av dessa resurser ändras blir det cachelagrade objektet föråldrat och tas bort från cacheminnet.
- cachekeys
- String[]
En matris med cachenycklar som det nya objektet övervakar för ändringar. När någon av dessa cachenycklar ändras blir det cachelagrade objektet som är associerat med det här beroendeobjektet föråldrat och tas bort från cachen.
- start
- DateTime
Datum och tid för att kontrollera det senast ändrade datumet för de objekt som skickades i matriserna filenames och cachekeys .
Exempel
I följande kodexempel skapas en CreateDependency metod. När den här metoden anropas skapar den ett DateTime objekt och egenskapen används för att lägga till ett objekt i cacheminnet med en key parameter av key1 och värdet Value 1.Cache.Item[] En matris med strängar, dependencyKey, skapas sedan med värdet key1 för också. Den här CacheDependency konstruktorn instansierar sedan ett CacheDependency objekt som skickar dependencyKey och DateTime objektet som parameterargument. Metoden Cache.Insert anropas härnäst med hjälp av CacheDependency objektet som en parameter. Detta gör att objektet som läggs till i cacheminnet med hjälp av Insert metoden är beroende av key1 nyckeln.
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
Kommentarer
Om någon av de kataloger eller filer som anges i parametern filenames inte hittas i filsystemet behandlas den som saknad. Om en katalog eller fil saknas när objektet med beroendet läggs till i Cachetas det cachelagrade objektet bort från när Cache katalogen eller filen skapas.
Anta till exempel att du lägger till ett objekt i Cache med ett beroende av följande filsökväg: c:\stocks\xyz.dat. Om filen inte hittas när CacheDependency objektet skapas, men skapas senare, tas det cachelagrade objektet bort när den xyz.dat filen skapas.
Beroendet cachekeys fungerar dock inte på samma sätt. Om minst ett värde i parametern cachekeys inte finns vid tidpunkten för en infogning misslyckas infogningen. Observera att det inte finns något undantag för det här scenariot.
Note
Ändringsspårningen börjar omedelbart och baseras inte direkt på parametern start . Använd parametern start för att skicka ett datum och en tid i det förflutna som du vill kontrollera det senast ändrade datumet för ett objekt som skickats i parametrarna filenames eller cachekeys . Om det senast ändrade datumet för något av dessa objekt är senare än det datum och den tid som angavs i parametern start tas det cachelagrade objektet bort från Cache.
Se även
Gäller för
CacheDependency(String[], String[], CacheDependency)
Initierar en ny instans av CacheDependency klassen som övervakar en matris med sökvägar (till filer eller kataloger), en matris med cachenycklar eller båda för ändringar. Det gör sig också beroende av en separat instans av CacheDependency klassen.
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)
Parametrar
- filenames
- String[]
En matris med sökvägar (till filer eller kataloger) som det cachelagrade objektet är beroende av. När någon av dessa resurser ändras blir det cachelagrade objektet föråldrat och tas bort från cacheminnet.
- cachekeys
- String[]
En matris med cachenycklar som det nya objektet övervakar för ändringar. När någon av dessa cachenycklar ändras blir det cachelagrade objektet som är associerat med det här beroendeobjektet föråldrat och tas bort från cachen.
- dependency
- CacheDependency
En annan instans av klassen som den här instansen CacheDependency är beroende av.
Exempel
I följande kodexempel skapas en CreateDependency metod. När den här metoden anropas använder den Cache.Item[] egenskapen för att lägga till ett objekt i cacheminnet med parametern keykey1 och värdet Value 1. En matris med strängar, dependencyKey, skapas sedan med värdet key1 för också. Konstruktorn CacheDependency.CacheDependency används för att skapa ett CacheDependency objekt, dep1, som skickas dependencyKey som ett parameterargument. Ett andra CacheDependency objekt, dep2, skapas med den här konstruktorn och dep1 skickas som det tredje parameterargumentet. Det andra beroendet är beroende av det första. Metoden Cache.Insert anropas härnäst med hjälp av det andra CacheDependency objektet som en parameter. Om det första beroendet ändras på något sätt kommer det cachelagrade objektet att ogiltigförklaras.
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
Kommentarer
Om någon av de kataloger eller filer som anges i parametern filenames inte hittas i filsystemet behandlas den som saknad. Om en katalog eller fil saknas när objektet med beroendet läggs till i Cachetas det cachelagrade objektet bort från när Cache katalogen eller filen skapas.
Anta till exempel att du lägger till ett objekt i Cache med ett beroende av följande filsökväg: c:\stocks\xyz.dat. Om filen inte hittas när CacheDependency objektet skapas, men skapas senare, tas det cachelagrade objektet bort när den xyz.dat filen skapas.
Beroendet cachekeys fungerar dock inte på samma sätt. Om minst ett värde i parametern cachekeys inte finns vid tidpunkten för en infogning misslyckas infogningen. Observera att det inte finns något undantag för det här scenariot.
Gäller för
CacheDependency(String[], String[], CacheDependency, DateTime)
Initierar en ny instans av CacheDependency klassen som övervakar en matris med sökvägar (till filer eller kataloger), en matris med cachenycklar eller båda för ändringar. Det gör sig också beroende av en annan instans av CacheDependency klassen och en tid när ändringsövervakningen börjar.
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)
Parametrar
- filenames
- String[]
En matris med sökvägar (till filer eller kataloger) som det cachelagrade objektet är beroende av. När någon av dessa resurser ändras blir det cachelagrade objektet föråldrat och tas bort från cacheminnet.
- cachekeys
- String[]
En matris med cachenycklar som det nya objektet övervakar för ändringar. När någon av dessa cachenycklar ändras blir det cachelagrade objektet som är associerat med det här beroendeobjektet föråldrat och tas bort från cachen.
- dependency
- CacheDependency
En annan instans av klassen som den här instansen CacheDependency är beroende av.
- start
- DateTime
Den tid som du vill kontrollera det senast ändrade datumet för objekten i matriserna och CacheDependency objektet.
Exempel
I följande kodexempel visas en CreateDependency metod. När den här metoden anropas skapar den ett DateTime objekt och egenskapen används för att lägga till ett objekt i cacheminnet med en nyckelparameter och key1 ett värde på Value 1.Cache.Item[] En matris med strängar, dependencyKey, skapas sedan med värdet vid det första (och enda) indexet inställt på även värdet key1 för. Konstruktorn CacheDependency.CacheDependency används sedan för att skapa ett CacheDependency objekt, dep1, som skickas dependencyKey som ett parameterargument. Ett andra CacheDependency objekt, dep2, skapas sedan med den här konstruktorn och dep1 objektet skickas DateTime som parameterargument. Det andra beroendet är beroende av det första och beroendeövervakningen börjar 10 sekunder efter att CreateDependency metoden anropas. Metoden Cache.Insert anropas härnäst med hjälp av det andra CacheDependency objektet som en parameter. Om det första beroendet ändras på något sätt kommer det cachelagrade objektet att ogiltigförklaras.
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
Kommentarer
Om någon av de kataloger eller filer som anges i parametern filenames inte hittas i filsystemet behandlas den som saknad. Om en katalog eller fil saknas när objektet med beroendet läggs till i Cachetas det cachelagrade objektet bort från när Cache katalogen eller filen skapas.
Anta till exempel att du lägger till ett objekt i Cache med ett beroende av följande filsökväg: c:\stocks\xyz.dat. Om filen inte hittas när CacheDependency objektet skapas, men skapas senare, tas det cachelagrade objektet bort när den xyz.dat filen skapas.
Beroendet cachekeys fungerar dock inte på samma sätt. Om minst ett värde i parametern cachekeys inte finns vid tidpunkten för en infogning misslyckas infogningen. Observera att det inte finns något undantag för det här scenariot.
Note
Ändringsspårningen börjar omedelbart och baseras inte direkt på parametern start . Använd parametern start för att skicka ett datum och en tid i det förflutna som du vill kontrollera det senast ändrade datumet för något av objekten som skickades i parametrarna filenames, cachekeyseller dependency . Om det senast ändrade datumet för något av dessa objekt är senare än det datum och den tid som skickades i parametern start tas det cachelagrade objektet bort från Cache.