Sdílet prostřednictvím


CacheDependency Konstruktory

Definice

Inicializuje novou instanci CacheDependency třídy.

Přetížení

CacheDependency()

Inicializuje novou instanci CacheDependency třídy .

CacheDependency(String)

Inicializuje novou instanci CacheDependency třídy, která monitoruje soubor nebo adresář pro změny.

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 soubor nebo adresář pro změny.

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 monitorování změn začí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. Je také 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 monitorování změn začne.

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 , protože všechny třídy, které jsou odvozeny z CacheDependency jsou požadovány do.

' 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

Pokud chcete 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 soubor nebo adresář pro změny.

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 v mezipaměti závislý. Při změně tohoto prostředku se objekt uložený v mezipaměti 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 do objektu 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 se Cache závislostí na souboru můžete použít také následující postup.

// 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 se adresář nebo soubor zadaný v parametru filename v systému souborů nenajde, bude považován za chybějící. Pokud adresář nebo soubor chybí při přidání objektu se závislostí do objektu Cache, objekt uložený v mezipaměti se odebere z objektu Cache při vytvoření adresáře nebo souboru.

Předpokládejme například, že do objektu Cache přidáte objekt se závislostí na následující cestě k souboru: c:\stocks\xyz.dat. Pokud se tento soubor při vytvoření objektu CacheDependency nenajde, ale vytvoří se později, objekt uložený v mezipaměti se při 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 použít metodu Cache.Insert k přidání položky do Cache se závislostmi na poli souborů. Položku můžete také nastavit jako závislou 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 je z pole odebrán, položka uložená v mezipaměti se zastará a odebere se z objektu aplikace Cache .

Pokud se v systému souborů nenajde žádný z adresářů nebo souborů zadaných v filenames parametru, považuje se za chybějící. Pokud při přidání objektu se závislostí do Cachechybí adresář nebo soubor , objekt uložený v mezipaměti se při vytvoření adresáře nebo souboru odebere z objektu Cache .

Předpokládejme například, že do objektu Cache přidáte objekt se závislostí na následující cestě k souboru: c:\stocks\xyz.dat. Pokud se tento soubor při vytvoření objektu CacheDependency nenajde, ale vytvoří se později, objekt uložený v mezipaměti se při vytvoření souboru xyz.dat odebere.

Poznámka

Při vytváření pole, které obsahuje závislosti souborů, musíte definovat počet souborů, na kterém 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 soubor nebo adresář pro změny.

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 v mezipaměti závislý. Při změně tohoto prostředku se objekt uložený v mezipaměti stane zastaralým a odebere se z mezipaměti.

start
DateTime

Čas, kdy 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 poté vloží položku do Cache s touto závislostí. Hodnota dt předaná v parametru start je nastavená 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 se adresář nebo soubor zadaný v parametru filename v systému souborů nenajde, bude považován za chybějící. Pokud adresář nebo soubor chybí při přidání objektu se závislostí do objektu Cache, objekt uložený v mezipaměti se odebere z objektu Cache při vytvoření adresáře nebo souboru.

Předpokládejme například, že do objektu Cache přidáte objekt se závislostí na následující cestě k souboru: c:\stocks\xyz.dat. Pokud se tento soubor při vytvoření objektu CacheDependency nenajde, ale vytvoří se později, objekt uložený v mezipaměti se při vytvoření souboru xyz.dat odebere.

Poznámka

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 adresáře nebo souboru předaného v parametru filename . Pokud je datum poslední změny pozdější než datum a čas nastavený v parametru start , odebere se položka uložená v mezipaměti z objektu Cache.

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 monitorování změn začí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, kdy se má 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 je objekt zahrnut jako argument parametru Cache.Insert volání 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 nenajde v systému souborů, považuje se za chybějící. Pokud při přidání objektu se závislostí do Cachechybí adresář nebo soubor , objekt uložený v mezipaměti se při vytvoření adresáře nebo souboru odebere z objektu Cache .

Předpokládejme například, že do objektu Cache přidáte objekt se závislostí na následující cestě k souboru: c:\stocks\xyz.dat. Pokud se tento soubor při vytvoření objektu CacheDependency nenajde, ale vytvoří se později, objekt uložený v mezipaměti se při vytvoření souboru xyz.dat odebere.

Poznámka

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 nastavený parametrem start , odebere se položka uložená v mezipaměti 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 v mezipaměti přidružený k tomuto objektu závislosti se zastará 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 k jiné položce umístěné v mezipaměti. Vzhledem k tomu, že tato metoda používá syntaxi pole, musíte definovat počet klíčů, na kterých závisí položka, kterou přidáváte do Cache .

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 filenames parametru, považuje se za chybějící. Pokud při přidání objektu se závislostí do Cachechybí adresář nebo soubor , objekt uložený v mezipaměti se při vytvoření adresáře nebo souboru odebere z objektu Cache .

Předpokládejme například, že do objektu Cache přidáte objekt se závislostí na následující cestě k souboru: c:\stocks\xyz.dat. Pokud se tento soubor při vytvoření objektu CacheDependency nenajde, ale vytvoří se později, objekt uložený v mezipaměti se při vytvoření souboru xyz.dat odebere.

Závislost ale cachekeys nefunguje stejným způsobem. Pokud v době vložení neexistuje alespoň jedna hodnota v cachekeys parametru, vložení se nezdaří. Všimněte si, že pro tento scénář nedochází k žádné výjimce.

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 přidružený k tomuto objektu závislosti se stane zastaralým a odebere se z mezipaměti.

start
DateTime

Datum a čas, ke kterému se má zkontrolovat datum poslední změny objektů předaných v filenames polích a cachekeys .

Příklady

Následující příklad kódu vytvoří metodu CreateDependency . Při volání této metody se vytvoří objekt a Cache.Item[] vlastnost se použije k přidání položky do mezipaměti s parametrem keykey1 a hodnotou Value 1.DateTime Pak se vytvoří pole řetězců dependencyKeys hodnotou key1 . Tento CacheDependency konstruktor pak vytvoří instanci objektu CacheDependency , který předává dependencyKey a DateTime objekt jako argumenty parametru. Metoda Cache.Insert je volána dále pomocí objektu CacheDependency jako parametru. Objekt přidaný do mezipaměti tak bude 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 některý z adresářů nebo souborů zadaných v parametru filenames nenajde v systému souborů, považuje se za chybějící. Pokud při přidání objektu se závislostí do Cacheobjektu chybí adresář nebo soubor , objekt uložený v mezipaměti se z Cache adresáře nebo souboru při vytvoření daného adresáře nebo souboru odebere.

Předpokládejme například, že do Cache objektu přidáte objekt se závislostí na následující cestě k souboru: c:\stocks\xyz.dat. Pokud se tento soubor při vytvoření objektu CacheDependency nenajde, ale vytvoří se později, objekt uložený v mezipaměti se při vytvoření souboru xyz.dat odebere.

cachekeys Závislost však nefunguje stejným způsobem. Pokud v době vložení neexistuje alespoň jedna hodnota v cachekeys parametru, vložení se nezdaří. Všimněte si, že pro tento scénář není vyvolán žádná výjimka.

Poznámka

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 filenames nebo cachekeys . Pokud je datum poslední změny některého z těchto objektů pozdější než datum a čas nastavený parametrem start , odebere se položka uložená v mezipaměti 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. Je také 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 přidružený k tomuto objektu závislosti se stane zastaralým a odebere se z mezipaměti.

dependency
CacheDependency

Další instance CacheDependency třídy, na které je tato instance závislá.

Příklady

Následující příklad kódu vytvoří metodu CreateDependency . Při zavolání této metody použije Cache.Item[] vlastnost k přidání položky do mezipaměti s parametrem keykey1 a hodnotou Value 1. Potom se vytvoří pole řetězců dependencyKeys hodnotou key1 . Konstruktor CacheDependency.CacheDependency se používá k vytvoření objektu CacheDependency , dep1který se předává dependencyKey jako argument parametru. Pomocí tohoto konstruktoru se vytvoří druhý CacheDependency objekt , dep2který dep1 se předá jako třetí argument parametru. Tato druhá závislost závisí na první závislosti. Metoda Cache.Insert je volána další pomocí druhého CacheDependency objektu jako parametru. Pokud se nějak změní první závislost, 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 některý z adresářů nebo souborů zadaných v parametru filenames nenajde v systému souborů, považuje se za chybějící. Pokud při přidání objektu se závislostí do Cacheobjektu chybí adresář nebo soubor , objekt uložený v mezipaměti se z Cache adresáře nebo souboru při vytvoření daného adresáře nebo souboru odebere.

Předpokládejme například, že do Cache objektu přidáte objekt se závislostí na následující cestě k souboru: c:\stocks\xyz.dat. Pokud se tento soubor při vytvoření objektu CacheDependency nenajde, ale vytvoří se později, objekt uložený v mezipaměti se při vytvoření souboru xyz.dat odebere.

cachekeys Závislost však nefunguje stejným způsobem. Pokud v době vložení neexistuje alespoň jedna hodnota v cachekeys parametru, vložení se nezdaří. 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. Je také závislý na jiné instanci CacheDependency třídy a v době, kdy začíná 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 přidružený k tomuto objektu závislosti se stane zastaralým a odebere se z mezipaměti.

dependency
CacheDependency

Další instance CacheDependency třídy, na které je tato instance závislá.

start
DateTime

Čas, od kterého 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 se vytvoří DateTime objekt a Cache.Item[] vlastnost se použije k přidání položky do mezipaměti s parametrem key1 klíče a hodnotou Value 1. Potom se vytvoří pole řetězců dependencyKeys hodnotou v jejím prvním (a jediném) indexu nastaveném také na hodnotu .key1 Konstruktor CacheDependency.CacheDependency se pak použije k vytvoření objektu CacheDependency , dep1který se předává dependencyKey jako argument parametru. Druhý CacheDependency objekt , dep2se pak vytvoří pomocí tohoto konstruktoru s objektem dep1 a předaným jako argumenty parametru DateTime . Tato druhá závislost závisí na první a monitorování závislostí začne 10 sekund po CreateDependency volání metody. Metoda Cache.Insert je volána další pomocí druhého CacheDependency objektu jako parametru. Pokud se nějak změní první závislost, 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 některý z adresářů nebo souborů zadaných v parametru filenames nenajde v systému souborů, považuje se za chybějící. Pokud při přidání objektu se závislostí do Cacheobjektu chybí adresář nebo soubor , objekt uložený v mezipaměti se z Cache adresáře nebo souboru při vytvoření daného adresáře nebo souboru odebere.

Předpokládejme například, že do Cache objektu přidáte objekt se závislostí na následující cestě k souboru: c:\stocks\xyz.dat. Pokud se tento soubor při vytvoření objektu CacheDependency nenajde, ale vytvoří se později, objekt uložený v mezipaměti se při vytvoření souboru xyz.dat odebere.

cachekeys Závislost však nefunguje stejným způsobem. Pokud v době vložení neexistuje alespoň jedna hodnota v cachekeys parametru, vložení se nezdaří. Všimněte si, že pro tento scénář není vyvolán žádná výjimka.

Poznámka

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 filenames, cachekeys, nebo dependency . Pokud je datum poslední změny některého z těchto objektů pozdější než datum a čas předaný parametrem start , odebere se položka uložená v mezipaměti z objektu Cache.

Viz také

Platí pro