CacheDependency Konstruktory

Definice

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.

Viz také

Platí pro