CacheDependency Konstruktory
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Inicializuje novou instanci CacheDependency třídy.
Přetížení
| Name | Description |
|---|---|
| CacheDependency() |
Inicializuje novou instanci CacheDependency třídy. |
| CacheDependency(String) |
Inicializuje novou instanci CacheDependency třídy, která monitoruje změny v souboru nebo adresáři. |
| CacheDependency(String[]) |
Inicializuje novou instanci CacheDependency třídy, která monitoruje pole cest (k souborům nebo adresářům) pro změny. |
| CacheDependency(String, DateTime) |
Inicializuje novou instanci CacheDependency třídy, která monitoruje změny v souboru nebo adresáři. |
| CacheDependency(String[], DateTime) |
Inicializuje novou instanci CacheDependency třídy, která monitoruje pole cest (k souborům nebo adresářům) pro změny a určuje čas, kdy začne monitorování změn. |
| CacheDependency(String[], String[]) |
Inicializuje novou instanci CacheDependency třídy, která monitoruje pole cest (k souborům nebo adresářům), pole klíčů mezipaměti nebo obojí pro změny. |
| CacheDependency(String[], String[], DateTime) |
Inicializuje novou instanci CacheDependency třídy, která monitoruje pole cest (k souborům nebo adresářům), pole klíčů mezipaměti nebo obojí pro změny. |
| CacheDependency(String[], String[], CacheDependency) |
Inicializuje novou instanci CacheDependency třídy, která monitoruje pole cest (k souborům nebo adresářům), pole klíčů mezipaměti nebo obojí pro změny. Zároveň je závislý na samostatné instanci CacheDependency třídy. |
| CacheDependency(String[], String[], CacheDependency, DateTime) |
Inicializuje novou instanci CacheDependency třídy, která monitoruje pole cest (k souborům nebo adresářům), pole klíčů mezipaměti nebo obojí pro změny. Také se stane závislým na jiné instanci CacheDependency třídy a čas, kdy začne monitorování změn. |
CacheDependency()
Inicializuje novou instanci CacheDependency třídy.
protected:
CacheDependency();
protected CacheDependency();
Protected Sub New ()
Příklady
Následující příklad kódu je třída, která implementuje tuto verzi konstruktoru CacheDependency jako všechny třídy odvozené od CacheDependency jsou vyžadovány.
' 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
Poznámky
Chcete-li odvodit vlastní třídu z CacheDependency, implementujte tuto verzi konstruktoru CacheDependency .
Viz také
Platí pro
CacheDependency(String)
Inicializuje novou instanci CacheDependency třídy, která monitoruje změny v souboru nebo adresáři.
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)
Parametry
- filename
- String
Cesta k souboru nebo adresáři, na který je objekt uložený v mezipaměti závislý. Když se tento prostředek změní, objekt uložený v mezipaměti se stane zastaralým a odebere se z mezipaměti.
Příklady
Následující příklad kódu vytvoří instanci CacheDependency třídy se závislostí na souboru XML. Metoda Cache.Insert pak přidá položku, Cache která je závislá na daném souboru.
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)
K přidání položky do Cache souboru s závislostí na souboru můžete použít také následující techniku.
// 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
Poznámky
Pokud adresář nebo soubor zadaný v parametru filename nebyl nalezen v systému souborů, bude považován za chybějící. Pokud při přidání Cacheobjektu se závislostí chybí adresář nebo soubor, objekt uložený v mezipaměti se odebere z Cache adresáře nebo souboru.
Předpokládejme například, že přidáte objekt do Cache závislosti na následující cestě k souboru: c:\stocks\xyz.dat. Pokud se tento soubor při vytvoření objektu CacheDependency nenajde, ale později se vytvoří, objekt uložený v mezipaměti se po vytvoření souboru xyz.dat odebere.
Viz také
Platí pro
CacheDependency(String[])
Inicializuje novou instanci CacheDependency třídy, která monitoruje pole cest (k souborům nebo adresářům) pro změny.
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())
Parametry
- filenames
- String[]
Pole cest (k souborům nebo adresářům), na které je objekt uložený v mezipaměti závislý. Když se některý z těchto prostředků změní, objekt uložený v mezipaměti se stane zastaralým a odebere se z mezipaměti.
Příklady
Následující příklad kódu ukazuje, jak pomocí Cache.Insert metody přidat položku do Cache závislosti na poli souborů. Položku můžete také nastavit jako závislá na poli adresářů.
// 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
Poznámky
Pokud se některý ze souborů nebo adresářů v poli změní nebo se z pole odebere, položka uložená v mezipaměti bude zastaralá a odebere se z objektu Cache aplikace.
Pokud se v systému souborů nenajde žádný z adresářů nebo souborů zadaných v parametru filenames , považuje se za chybějící. Pokud při přidání Cacheobjektu se závislostí chybí adresář nebo soubor, objekt uložený v mezipaměti se z vytvořeného adresáře nebo souboru odebere Cache .
Předpokládejme například, že přidáte objekt do Cache závislosti na následující cestě k souboru: c:\stocks\xyz.dat. Pokud se tento soubor při vytvoření objektu CacheDependency nenajde, ale později se vytvoří, objekt uložený v mezipaměti se po vytvoření souboru xyz.dat odebere.
Note
Když vytvoříte pole obsahující závislosti souboru, musíte definovat počet souborů, na které je položka, kterou přidáváte Cache , závislá.
Viz také
Platí pro
CacheDependency(String, DateTime)
Inicializuje novou instanci CacheDependency třídy, která monitoruje změny v souboru nebo adresáři.
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)
Parametry
- filename
- String
Cesta k souboru nebo adresáři, na který je objekt uložený v mezipaměti závislý. Když se tento prostředek změní, objekt uložený v mezipaměti se stane zastaralým a odebere se z mezipaměti.
- start
- DateTime
Čas, proti kterému se má zkontrolovat datum poslední změny adresáře nebo souboru.
Příklady
Následující příklad kódu používá tento konstruktor k vytvoření instance objektu CacheDependency a potom vloží položku do Cache této závislosti. Hodnota dt předaná v parametru start je nastavena na 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
Poznámky
Pokud adresář nebo soubor zadaný v parametru filename nebyl nalezen v systému souborů, bude považován za chybějící. Pokud při přidání Cacheobjektu se závislostí chybí adresář nebo soubor, objekt uložený v mezipaměti se odebere z Cache adresáře nebo souboru.
Předpokládejme například, že přidáte objekt do Cache závislosti na následující cestě k souboru: c:\stocks\xyz.dat. Pokud se tento soubor při vytvoření objektu CacheDependency nenajde, ale později se vytvoří, objekt uložený v mezipaměti se po vytvoření souboru xyz.dat odebere.
Note
Sledování změn začíná okamžitě a není přímo založené na parametru start . Pomocí parametru start předejte datum a čas v minulosti, ve kterém chcete zkontrolovat datum poslední změny adresáře nebo souboru předaného v parametru filename . Pokud je datum poslední změny pozdější než datum a čas předaný v parametru start , položka uložená v mezipaměti se odebere Cachez položky .
Viz také
Platí pro
CacheDependency(String[], DateTime)
Inicializuje novou instanci CacheDependency třídy, která monitoruje pole cest (k souborům nebo adresářům) pro změny a určuje čas, kdy začne monitorování změn.
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)
Parametry
- filenames
- String[]
Pole cest (k souborům nebo adresářům), na které je objekt uložený v mezipaměti závislý. Když se některý z těchto prostředků změní, objekt uložený v mezipaměti se stane zastaralým a odebere se z mezipaměti.
- start
- DateTime
Čas, proti kterému chcete zkontrolovat datum poslední změny objektů v poli.
Příklady
Následující příklad kódu vytvoří CacheDependency objekt, který předá dva soubory XML a DateTime.Now hodnotu, pokud objekt je zahrnut jako parametr argument volání Cache.Insert metody.
// 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
Poznámky
Pokud se některý z adresářů nebo souborů zadaných v parametru filenames v systému souborů nenajde, považuje se za chybějící. Pokud při přidání Cacheobjektu se závislostí chybí adresář nebo soubor, objekt uložený v mezipaměti se z vytvořeného adresáře nebo souboru odebere Cache .
Předpokládejme například, že přidáte objekt do Cache závislosti na následující cestě k souboru: c:\stocks\xyz.dat. Pokud se tento soubor při vytvoření objektu CacheDependency nenajde, ale později se vytvoří, objekt uložený v mezipaměti se po vytvoření souboru xyz.dat odebere.
Note
Sledování změn začíná okamžitě a není přímo založené na parametru start . Pomocí parametru start předejte datum a čas v minulosti, proti kterému chcete zkontrolovat datum poslední změny pole předané v parametru filenames . Pokud je datum poslední změny libovolného objektu v poli pozdější než datum a čas předaný v parametru start , položka uložená v mezipaměti bude odebrána z objektu Cache.
Viz také
Platí pro
CacheDependency(String[], String[])
Inicializuje novou instanci CacheDependency třídy, která monitoruje pole cest (k souborům nebo adresářům), pole klíčů mezipaměti nebo obojí pro změny.
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())
Parametry
- filenames
- String[]
Pole cest (k souborům nebo adresářům), na které je objekt uložený v mezipaměti závislý. Když se některý z těchto prostředků změní, objekt uložený v mezipaměti se stane zastaralým a odebere se z mezipaměti.
- cachekeys
- String[]
Pole klíčů mezipaměti, které nový objekt monitoruje změny. Když se některý z těchto klíčů mezipaměti změní, objekt uložený v mezipaměti přidružený k tomuto objektu závislosti bude zastaralý a odebere se z mezipaměti.
Příklady
Následující fragment kódu ukazuje, jak vložit položku do aplikace Cache se závislostí na klíči na jinou položku umístěnou v mezipaměti. Vzhledem k tomu, že tato metoda používá syntaxi pole, je nutné definovat počet klíčů, na kterých je položka, kterou přidáváte, Cache závislá.
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
Poznámky
Pokud se v systému souborů nenajde žádný z adresářů nebo souborů zadaných v parametru filenames , považuje se za chybějící. Pokud při přidání Cacheobjektu se závislostí chybí adresář nebo soubor, objekt uložený v mezipaměti se z vytvořeného adresáře nebo souboru odebere Cache .
Předpokládejme například, že přidáte objekt do Cache závislosti na následující cestě k souboru: c:\stocks\xyz.dat. Pokud se tento soubor při vytvoření objektu CacheDependency nenajde, ale později se vytvoří, objekt uložený v mezipaměti se po vytvoření souboru xyz.dat odebere.
cachekeys Závislost ale nefunguje stejným způsobem. Pokud v okamžiku cachekeys vložení neexistuje alespoň jedna hodnota v parametru, vložení selže. Všimněte si, že pro tento scénář není vyvolán žádná výjimka.
Viz také
Platí pro
CacheDependency(String[], String[], DateTime)
Inicializuje novou instanci CacheDependency třídy, která monitoruje pole cest (k souborům nebo adresářům), pole klíčů mezipaměti nebo obojí pro změny.
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)
Parametry
- filenames
- String[]
Pole cest (k souborům nebo adresářům), na které je objekt uložený v mezipaměti závislý. Když se některý z těchto prostředků změní, objekt uložený v mezipaměti se stane zastaralým a odebere se z mezipaměti.
- cachekeys
- String[]
Pole klíčů mezipaměti, které nový objekt monitoruje změny. Když se některý z těchto klíčů mezipaměti změní, objekt uložený v mezipaměti přidružený k tomuto objektu závislosti bude zastaralý a odebere se z mezipaměti.
- start
- DateTime
Datum a čas, proti kterému chcete zkontrolovat datum poslední změny objektů předaných v filenames polích a cachekeys polích.
Příklady
Následující příklad kódu vytvoří metodu CreateDependency . Při volání této metody vytvoří DateTime objekt a Cache.Item[] vlastnost se používá k přidání položky do mezipaměti s key parametrem key1 a hodnotou Value 1. Pole řetězců dependencyKeyse pak vytvoří s hodnotou key1 také. Tento CacheDependency konstruktor pak vytvoří instanci objektu CacheDependency , který předá dependencyKey a objekt jako DateTime argumenty parametrů. Metoda Cache.Insert je volána dále pomocí objektu CacheDependency jako parametru. Objekt se tak přidá do mezipaměti pomocí Insert metody závislé na klíči key1 .
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
Poznámky
Pokud se v systému souborů nenajde žádný z adresářů nebo souborů zadaných v parametru filenames , považuje se za chybějící. Pokud při přidání Cacheobjektu se závislostí chybí adresář nebo soubor, objekt uložený v mezipaměti se z vytvořeného adresáře nebo souboru odebere Cache .
Předpokládejme například, že přidáte objekt do Cache závislosti na následující cestě k souboru: c:\stocks\xyz.dat. Pokud se tento soubor při vytvoření objektu CacheDependency nenajde, ale později se vytvoří, objekt uložený v mezipaměti se po vytvoření souboru xyz.dat odebere.
cachekeys Závislost ale nefunguje stejným způsobem. Pokud v okamžiku cachekeys vložení neexistuje alespoň jedna hodnota v parametru, vložení selže. Všimněte si, že pro tento scénář není vyvolán žádná výjimka.
Note
Sledování změn začíná okamžitě a není přímo založené na parametru start . Pomocí parametru start předejte datum a čas v minulosti, proti kterému chcete zkontrolovat datum poslední změny libovolného objektu předaného v parametrech nebo filenames parametrechcachekeys. Pokud je datum poslední změny některého z těchto objektů pozdější než datum a čas předaný v parametru start , položka uložená v mezipaměti se z objektu Cache.
Viz také
Platí pro
CacheDependency(String[], String[], CacheDependency)
Inicializuje novou instanci CacheDependency třídy, která monitoruje pole cest (k souborům nebo adresářům), pole klíčů mezipaměti nebo obojí pro změny. Zároveň je závislý na samostatné instanci CacheDependency třídy.
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)
Parametry
- filenames
- String[]
Pole cest (k souborům nebo adresářům), na které je objekt uložený v mezipaměti závislý. Když se některý z těchto prostředků změní, objekt uložený v mezipaměti se stane zastaralým a odebere se z mezipaměti.
- cachekeys
- String[]
Pole klíčů mezipaměti, které nový objekt monitoruje změny. Když se některý z těchto klíčů mezipaměti změní, objekt uložený v mezipaměti přidružený k tomuto objektu závislosti bude zastaralý a odebere se z mezipaměti.
- dependency
- CacheDependency
Další instance třídy, na které je tato instance CacheDependency závislá.
Příklady
Následující příklad kódu vytvoří metodu CreateDependency . Při zavolání této metody používá Cache.Item[] vlastnost k přidání položky do mezipaměti s key parametrem key1 a hodnotou Value 1. Pole řetězců dependencyKeyse pak vytvoří s hodnotou key1 také. Konstruktor CacheDependency.CacheDependency slouží k vytvoření objektu CacheDependency , dep1který předává dependencyKey jako argument parametru. Druhý CacheDependency objekt , dep2je vytvořen pomocí tohoto konstruktoru, s dep1 předáním jako třetí parametr argument. Tato druhá závislost je závislá na prvním. Metoda Cache.Insert je volána dále pomocí druhého CacheDependency objektu jako parametru. Pokud se první závislost změní nějakým způsobem, položka uložená v mezipaměti se zneplatní.
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
Poznámky
Pokud se v systému souborů nenajde žádný z adresářů nebo souborů zadaných v parametru filenames , považuje se za chybějící. Pokud při přidání Cacheobjektu se závislostí chybí adresář nebo soubor, objekt uložený v mezipaměti se z vytvořeného adresáře nebo souboru odebere Cache .
Předpokládejme například, že přidáte objekt do Cache závislosti na následující cestě k souboru: c:\stocks\xyz.dat. Pokud se tento soubor při vytvoření objektu CacheDependency nenajde, ale později se vytvoří, objekt uložený v mezipaměti se po vytvoření souboru xyz.dat odebere.
cachekeys Závislost ale nefunguje stejným způsobem. Pokud v okamžiku cachekeys vložení neexistuje alespoň jedna hodnota v parametru, vložení selže. Všimněte si, že pro tento scénář není vyvolán žádná výjimka.
Platí pro
CacheDependency(String[], String[], CacheDependency, DateTime)
Inicializuje novou instanci CacheDependency třídy, která monitoruje pole cest (k souborům nebo adresářům), pole klíčů mezipaměti nebo obojí pro změny. Také se stane závislým na jiné instanci CacheDependency třídy a čas, kdy začne monitorování změn.
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)
Parametry
- filenames
- String[]
Pole cest (k souborům nebo adresářům), na které je objekt uložený v mezipaměti závislý. Když se některý z těchto prostředků změní, objekt uložený v mezipaměti se stane zastaralým a odebere se z mezipaměti.
- cachekeys
- String[]
Pole klíčů mezipaměti, které nový objekt monitoruje změny. Když se některý z těchto klíčů mezipaměti změní, objekt uložený v mezipaměti přidružený k tomuto objektu závislosti bude zastaralý a odebere se z mezipaměti.
- dependency
- CacheDependency
Další instance třídy, na které je tato instance CacheDependency závislá.
- start
- DateTime
Čas, proti kterému se má zkontrolovat datum poslední změny objektů v polích a objektu CacheDependency .
Příklady
Následující příklad kódu ukazuje metodu CreateDependency . Při volání této metody vytvoří DateTime objekt a Cache.Item[] vlastnost se používá k přidání položky do mezipaměti s klíčovým parametrem key1 a hodnotou Value 1. Pole řetězců se dependencyKeypak vytvoří s hodnotou na prvním (a pouze) indexu nastaveném na hodnotu key1 . Konstruktor CacheDependency.CacheDependency se pak použije k vytvoření objektu CacheDependency , dep1který předává dependencyKey jako argument parametru. Druhý CacheDependency objekt , dep2je poté vytvořen pomocí tohoto konstruktorudep1, s DateTime a objekt předán jako argumenty parametru. Tato druhá závislost je závislá na první a monitorování závislostí začne 10 sekund po CreateDependency zavolání metody. Metoda Cache.Insert je volána dále pomocí druhého CacheDependency objektu jako parametru. Pokud se první závislost změní nějakým způsobem, položka uložená v mezipaměti se zneplatní.
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
Poznámky
Pokud se v systému souborů nenajde žádný z adresářů nebo souborů zadaných v parametru filenames , považuje se za chybějící. Pokud při přidání Cacheobjektu se závislostí chybí adresář nebo soubor, objekt uložený v mezipaměti se z vytvořeného adresáře nebo souboru odebere Cache .
Předpokládejme například, že přidáte objekt do Cache závislosti na následující cestě k souboru: c:\stocks\xyz.dat. Pokud se tento soubor při vytvoření objektu CacheDependency nenajde, ale později se vytvoří, objekt uložený v mezipaměti se po vytvoření souboru xyz.dat odebere.
cachekeys Závislost ale nefunguje stejným způsobem. Pokud v okamžiku cachekeys vložení neexistuje alespoň jedna hodnota v parametru, vložení selže. Všimněte si, že pro tento scénář není vyvolán žádná výjimka.
Note
Sledování změn začíná okamžitě a není přímo založené na parametru start . Pomocí parametru start předejte datum a čas v minulosti, proti kterému chcete zkontrolovat datum poslední změny libovolného objektu předaného v objektu filenames, cachekeysnebo dependency parametry. Pokud je datum poslední změny některého z těchto objektů pozdější než datum a čas předaný v parametru start , položka uložená v mezipaměti bude odebrána z objektu Cache.