CacheDependency Constructores

Definición

Inicializa una nueva instancia de la clase CacheDependency.

Sobrecargas

Nombre Description
CacheDependency()

Inicializa una nueva instancia de la clase CacheDependency.

CacheDependency(String)

Inicializa una nueva instancia de la CacheDependency clase que supervisa un archivo o directorio para ver los cambios.

CacheDependency(String[])

Inicializa una nueva instancia de la CacheDependency clase que supervisa una matriz de rutas de acceso (a archivos o directorios) para los cambios.

CacheDependency(String, DateTime)

Inicializa una nueva instancia de la CacheDependency clase que supervisa un archivo o directorio para ver los cambios.

CacheDependency(String[], DateTime)

Inicializa una nueva instancia de la CacheDependency clase que supervisa una matriz de rutas de acceso (a archivos o directorios) para los cambios y especifica una hora en que comienza la supervisión de cambios.

CacheDependency(String[], String[])

Inicializa una nueva instancia de la CacheDependency clase que supervisa una matriz de rutas de acceso (a archivos o directorios), una matriz de claves de caché o ambas para los cambios.

CacheDependency(String[], String[], DateTime)

Inicializa una nueva instancia de la CacheDependency clase que supervisa una matriz de rutas de acceso (a archivos o directorios), una matriz de claves de caché o ambas para los cambios.

CacheDependency(String[], String[], CacheDependency)

Inicializa una nueva instancia de la CacheDependency clase que supervisa una matriz de rutas de acceso (a archivos o directorios), una matriz de claves de caché o ambas para los cambios. También depende de una instancia independiente de la CacheDependency clase .

CacheDependency(String[], String[], CacheDependency, DateTime)

Inicializa una nueva instancia de la CacheDependency clase que supervisa una matriz de rutas de acceso (a archivos o directorios), una matriz de claves de caché o ambas para los cambios. También depende de otra instancia de la CacheDependency clase y una hora en que comienza la supervisión de cambios.

CacheDependency()

Inicializa una nueva instancia de la clase CacheDependency.

protected:
 CacheDependency();
protected CacheDependency();
Protected Sub New ()

Ejemplos

El ejemplo de código siguiente es una clase que implementa esta versión del CacheDependency constructor a medida que se requieren todas las clases que derivan de CacheDependency .

' 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

Comentarios

Si desea derivar su propia clase de CacheDependency, implemente esta versión del CacheDependency constructor.

Consulte también

Se aplica a

CacheDependency(String)

Inicializa una nueva instancia de la CacheDependency clase que supervisa un archivo o directorio para ver los cambios.

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)

Parámetros

filename
String

Ruta de acceso a un archivo o directorio en el que depende el objeto almacenado en caché. Cuando este recurso cambia, el objeto almacenado en caché deja de estar obsoleto y se quita de la memoria caché.

Ejemplos

En el ejemplo de código siguiente se crea una instancia de la CacheDependency clase con una dependencia en un archivo XML. A continuación, el Cache.Insert método agrega un elemento al Cache que depende de ese archivo.

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)

También puede usar la técnica siguiente para agregar un elemento a Cache con una dependencia en un archivo.

// 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

Comentarios

Si el directorio o archivo especificado en el filename parámetro no se encuentra en el sistema de archivos, se tratará como ausente. Si falta el directorio o el archivo cuando el objeto con la dependencia se agrega a Cache, el objeto almacenado en caché se quitará de cuando Cache se cree el directorio o el archivo.

Por ejemplo, supongamos que agrega un objeto a con una dependencia en la siguiente ruta de acceso de Cache archivo: c:\stocks\xyz.dat. Si no se encuentra ese archivo cuando se crea el CacheDependency objeto, pero se crea más adelante, el objeto almacenado en caché se quita al crear el archivo xyz.dat.

Consulte también

Se aplica a

CacheDependency(String[])

Inicializa una nueva instancia de la CacheDependency clase que supervisa una matriz de rutas de acceso (a archivos o directorios) para los cambios.

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())

Parámetros

filenames
String[]

Matriz de rutas de acceso (a archivos o directorios) de las que depende el objeto almacenado en caché. Cuando cambia cualquiera de estos recursos, el objeto almacenado en caché deja de estar obsoleto y se quita de la memoria caché.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar el Cache.Insert método para agregar un elemento a con Cache dependencias en una matriz de archivos. También puede hacer que el elemento dependa de una matriz de directorios.

    // 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

Comentarios

Si alguno de los archivos o directorios de la matriz cambia o se quita de la matriz, el elemento almacenado en caché queda obsoleto y se quita del objeto de Cache la aplicación.

Además, si alguno de los directorios o archivos especificados en el filenames parámetro no se encuentra en el sistema de archivos, se trata como ausente. Si falta un directorio o archivo cuando el objeto con la dependencia se agrega a Cache, el objeto almacenado en caché se quitará de cuando Cache se cree ese directorio o archivo.

Por ejemplo, supongamos que agrega un objeto a con una dependencia en la siguiente ruta de acceso de Cache archivo: c:\stocks\xyz.dat. Si no se encuentra ese archivo cuando se crea el CacheDependency objeto, pero se crea más adelante, el objeto almacenado en caché se quita al crear el archivo xyz.dat.

Note

Al crear la matriz que contiene las dependencias de archivo, debe definir el número de archivos en los que depende el elemento que va a agregar.Cache

Consulte también

Se aplica a

CacheDependency(String, DateTime)

Inicializa una nueva instancia de la CacheDependency clase que supervisa un archivo o directorio para ver los cambios.

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)

Parámetros

filename
String

Ruta de acceso a un archivo o directorio en el que depende el objeto almacenado en caché. Cuando este recurso cambia, el objeto almacenado en caché deja de estar obsoleto y se quita de la memoria caché.

start
DateTime

Hora en la que se va a comprobar la fecha de última modificación del directorio o archivo.

Ejemplos

En el ejemplo de código siguiente se usa este constructor para crear instancias de un CacheDependency objeto y, a continuación, se inserta un elemento en con Cache esa dependencia. El dt valor pasado en el start parámetro se establece DateTime.Nowen .

// 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 

Comentarios

Si el directorio o archivo especificado en el filename parámetro no se encuentra en el sistema de archivos, se tratará como ausente. Si falta el directorio o el archivo cuando el objeto con la dependencia se agrega a Cache, el objeto almacenado en caché se quitará de cuando Cache se cree el directorio o el archivo.

Por ejemplo, supongamos que agrega un objeto a con una dependencia en la siguiente ruta de acceso de Cache archivo: c:\stocks\xyz.dat. Si no se encuentra ese archivo cuando se crea el CacheDependency objeto, pero se crea más adelante, el objeto almacenado en caché se quita al crear el archivo xyz.dat.

Note

El seguimiento de cambios comienza inmediatamente y no se basa directamente en el start parámetro . Use el start parámetro para pasar una fecha y hora en el pasado en la que desea comprobar la fecha de última modificación del directorio o archivo pasados en el filename parámetro . Si la última fecha de modificación es posterior a la fecha y hora establecidas en el start parámetro , el elemento almacenado en caché se quita de .Cache

Consulte también

Se aplica a

CacheDependency(String[], DateTime)

Inicializa una nueva instancia de la CacheDependency clase que supervisa una matriz de rutas de acceso (a archivos o directorios) para los cambios y especifica una hora en que comienza la supervisión de cambios.

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)

Parámetros

filenames
String[]

Matriz de rutas de acceso (a archivos o directorios) de las que depende el objeto almacenado en caché. Cuando cambia cualquiera de estos recursos, el objeto almacenado en caché deja de estar obsoleto y se quita de la memoria caché.

start
DateTime

Hora en la que se va a comprobar la fecha de última modificación de los objetos de la matriz.

Ejemplos

En el ejemplo de código siguiente se crea un CacheDependency objeto que pasa dos archivos XML y un DateTime.Now valor cuando el objeto se incluye como argumento de parámetro en una Cache.Insert llamada de método.

// 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

Comentarios

Si no se encuentra alguno de los directorios o archivos especificados en el filenames parámetro en el sistema de archivos, se trata como ausente. Si falta un directorio o archivo cuando el objeto con la dependencia se agrega a Cache, el objeto almacenado en caché se quitará de cuando Cache se cree ese directorio o archivo.

Por ejemplo, supongamos que agrega un objeto a con una dependencia en la siguiente ruta de acceso de Cache archivo: c:\stocks\xyz.dat. Si no se encuentra ese archivo cuando se crea el CacheDependency objeto, pero se crea más adelante, el objeto almacenado en caché se quita al crear el archivo xyz.dat.

Note

El seguimiento de cambios comienza inmediatamente y no se basa directamente en el start parámetro . Use el start parámetro para pasar una fecha y hora en el pasado en la que desea comprobar la fecha de última modificación de la matriz pasada en el filenames parámetro . Si la fecha de última modificación de cualquier objeto de la matriz es posterior a la fecha y hora establecida en el start parámetro , el elemento almacenado en caché se quita de Cache.

Consulte también

Se aplica a

CacheDependency(String[], String[])

Inicializa una nueva instancia de la CacheDependency clase que supervisa una matriz de rutas de acceso (a archivos o directorios), una matriz de claves de caché o ambas para los cambios.

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())

Parámetros

filenames
String[]

Matriz de rutas de acceso (a archivos o directorios) de las que depende el objeto almacenado en caché. Cuando cambia cualquiera de estos recursos, el objeto almacenado en caché deja de estar obsoleto y se quita de la memoria caché.

cachekeys
String[]

Matriz de claves de caché que supervisa el nuevo objeto para ver los cambios. Cuando cualquiera de estas claves de caché cambia, el objeto almacenado en caché asociado a este objeto de dependencia se vuelve obsoleto y se quita de la memoria caché.

Ejemplos

En el fragmento de código siguiente se muestra cómo insertar un elemento en la Cache aplicación con una dependencia de una clave a otro elemento colocado en la memoria caché. Dado que este método usa la sintaxis de matriz, debe definir el número de claves en las que depende el elemento que va a agregar.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

Comentarios

Además, si alguno de los directorios o archivos especificados en el filenames parámetro no se encuentra en el sistema de archivos, se trata como ausente. Si falta un directorio o archivo cuando el objeto con la dependencia se agrega a Cache, el objeto almacenado en caché se quitará de cuando Cache se cree ese directorio o archivo.

Por ejemplo, supongamos que agrega un objeto a con una dependencia en la siguiente ruta de acceso de Cache archivo: c:\stocks\xyz.dat. Si no se encuentra ese archivo cuando se crea el CacheDependency objeto, pero se crea más adelante, el objeto almacenado en caché se quita al crear el archivo xyz.dat.

Sin embargo, la cachekeys dependencia no funciona de la misma manera. Si no existe al menos un valor en el cachekeys parámetro en el momento de una inserción, se produce un error en la inserción. Tenga en cuenta que no se produce ninguna excepción para este escenario.

Consulte también

Se aplica a

CacheDependency(String[], String[], DateTime)

Inicializa una nueva instancia de la CacheDependency clase que supervisa una matriz de rutas de acceso (a archivos o directorios), una matriz de claves de caché o ambas para los cambios.

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)

Parámetros

filenames
String[]

Matriz de rutas de acceso (a archivos o directorios) de las que depende el objeto almacenado en caché. Cuando cambia cualquiera de estos recursos, el objeto almacenado en caché deja de estar obsoleto y se quita de la memoria caché.

cachekeys
String[]

Matriz de claves de caché que supervisa el nuevo objeto para ver los cambios. Cuando cualquiera de estas claves de caché cambia, el objeto almacenado en caché asociado a este objeto de dependencia se vuelve obsoleto y se quita de la memoria caché.

start
DateTime

Fecha y hora en que se va a comprobar la fecha de última modificación de los objetos pasados en las filenames matrices y cachekeys .

Ejemplos

En el ejemplo de código siguiente se crea un CreateDependency método . Cuando se llama a este método, crea un DateTime objeto y la Cache.Item[] propiedad se usa para agregar un elemento a la memoria caché con un key parámetro de key1 y un valor de Value 1. A continuación, se crea una matriz de cadenas, dependencyKey, con el valor de key1 . A continuación, este CacheDependency constructor crea una instancia de un CacheDependency objeto que pasa dependencyKey y el DateTime objeto como argumentos de parámetro. El Cache.Insert método se llama a continuación mediante el CacheDependency objeto como parámetro. Esto hace que el objeto se agregue a la memoria caché mediante el Insert método dependiente de la key1 clave.

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

Comentarios

Además, si alguno de los directorios o archivos especificados en el filenames parámetro no se encuentra en el sistema de archivos, se trata como ausente. Si falta un directorio o archivo cuando el objeto con la dependencia se agrega a Cache, el objeto almacenado en caché se quitará de cuando Cache se cree ese directorio o archivo.

Por ejemplo, supongamos que agrega un objeto a con una dependencia en la siguiente ruta de acceso de Cache archivo: c:\stocks\xyz.dat. Si no se encuentra ese archivo cuando se crea el CacheDependency objeto, pero se crea más adelante, el objeto almacenado en caché se quita al crear el archivo xyz.dat.

Sin embargo, la cachekeys dependencia no funciona de la misma manera. Si no existe al menos un valor en el cachekeys parámetro en el momento de una inserción, se produce un error en la inserción. Tenga en cuenta que no se produce ninguna excepción para este escenario.

Note

El seguimiento de cambios comienza inmediatamente y no se basa directamente en el start parámetro . Use el start parámetro para pasar una fecha y hora en el pasado en la que desea comprobar la fecha de última modificación de cualquier objeto pasado en los filenames parámetros o cachekeys . Si la fecha de última modificación de cualquiera de esos objetos es posterior a la fecha y hora establecidas en el start parámetro , el elemento almacenado en caché se quita de Cache.

Consulte también

Se aplica a

CacheDependency(String[], String[], CacheDependency)

Inicializa una nueva instancia de la CacheDependency clase que supervisa una matriz de rutas de acceso (a archivos o directorios), una matriz de claves de caché o ambas para los cambios. También depende de una instancia independiente de la CacheDependency clase .

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)

Parámetros

filenames
String[]

Matriz de rutas de acceso (a archivos o directorios) de las que depende el objeto almacenado en caché. Cuando cambia cualquiera de estos recursos, el objeto almacenado en caché deja de estar obsoleto y se quita de la memoria caché.

cachekeys
String[]

Matriz de claves de caché que supervisa el nuevo objeto para ver los cambios. Cuando cualquiera de estas claves de caché cambia, el objeto almacenado en caché asociado a este objeto de dependencia se vuelve obsoleto y se quita de la memoria caché.

dependency
CacheDependency

Otra instancia de la clase en la CacheDependency que depende esta instancia.

Ejemplos

En el ejemplo de código siguiente se crea un CreateDependency método . Cuando se llama a este método, usa la Cache.Item[] propiedad para agregar un elemento a la memoria caché con un key parámetro de key1 y un valor de Value 1. A continuación, se crea una matriz de cadenas, dependencyKey, con el valor de key1 . El CacheDependency.CacheDependency constructor se usa para crear un CacheDependency objeto , dep1que pasa dependencyKey como argumento de parámetro. Se crea un segundo CacheDependency objeto, dep2, con este constructor, que dep1 se pasa como tercer argumento de parámetro. Esta segunda dependencia depende de la primera. El Cache.Insert método se llama a continuación mediante el segundo CacheDependency objeto como parámetro. Si la primera dependencia cambia de alguna manera, el elemento almacenado en caché se invalidará.

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

Comentarios

Además, si alguno de los directorios o archivos especificados en el filenames parámetro no se encuentra en el sistema de archivos, se trata como ausente. Si falta un directorio o archivo cuando el objeto con la dependencia se agrega a Cache, el objeto almacenado en caché se quitará de cuando Cache se cree ese directorio o archivo.

Por ejemplo, supongamos que agrega un objeto a con una dependencia en la siguiente ruta de acceso de Cache archivo: c:\stocks\xyz.dat. Si no se encuentra ese archivo cuando se crea el CacheDependency objeto, pero se crea más adelante, el objeto almacenado en caché se quita al crear el archivo xyz.dat.

Sin embargo, la cachekeys dependencia no funciona de la misma manera. Si no existe al menos un valor en el cachekeys parámetro en el momento de una inserción, se produce un error en la inserción. Tenga en cuenta que no se produce ninguna excepción para este escenario.

Se aplica a

CacheDependency(String[], String[], CacheDependency, DateTime)

Inicializa una nueva instancia de la CacheDependency clase que supervisa una matriz de rutas de acceso (a archivos o directorios), una matriz de claves de caché o ambas para los cambios. También depende de otra instancia de la CacheDependency clase y una hora en que comienza la supervisión de cambios.

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)

Parámetros

filenames
String[]

Matriz de rutas de acceso (a archivos o directorios) de las que depende el objeto almacenado en caché. Cuando cambia cualquiera de estos recursos, el objeto almacenado en caché deja de estar obsoleto y se quita de la memoria caché.

cachekeys
String[]

Matriz de claves de caché que supervisa el nuevo objeto para ver los cambios. Cuando cualquiera de estas claves de caché cambia, el objeto almacenado en caché asociado a este objeto de dependencia se vuelve obsoleto y se quita de la memoria caché.

dependency
CacheDependency

Otra instancia de la clase en la CacheDependency que depende esta instancia.

start
DateTime

Hora en la que se va a comprobar la fecha de última modificación de los objetos de las matrices y el CacheDependency objeto .

Ejemplos

En el ejemplo de código siguiente se muestra un CreateDependency método . Cuando se llama a este método, crea un DateTime objeto y la Cache.Item[] propiedad se usa para agregar un elemento a la memoria caché con un parámetro de clave de key1 y un valor de Value 1. A continuación, se crea una matriz de cadenas, dependencyKey, con el valor en su primer índice (y solo) establecido en el valor de key1 . A continuación, el CacheDependency.CacheDependency constructor se usa para crear un CacheDependency objeto , dep1que pasa dependencyKey como argumento de parámetro. A continuación, dep2se crea un segundo CacheDependency objeto , mediante este constructor, con dep1 y el DateTime objeto pasado como argumentos de parámetro. Esta segunda dependencia depende de la primera y la supervisión de dependencias comenzará 10 segundos después de llamar al CreateDependency método . El Cache.Insert método se llama a continuación mediante el segundo CacheDependency objeto como parámetro. Si la primera dependencia cambia de alguna manera, el elemento almacenado en caché se invalidará.

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

Comentarios

Además, si alguno de los directorios o archivos especificados en el filenames parámetro no se encuentra en el sistema de archivos, se trata como ausente. Si falta un directorio o archivo cuando el objeto con la dependencia se agrega a Cache, el objeto almacenado en caché se quitará de cuando Cache se cree ese directorio o archivo.

Por ejemplo, supongamos que agrega un objeto a con una dependencia en la siguiente ruta de acceso de Cache archivo: c:\stocks\xyz.dat. Si no se encuentra ese archivo cuando se crea el CacheDependency objeto, pero se crea más adelante, el objeto almacenado en caché se quita al crear el archivo xyz.dat.

Sin embargo, la cachekeys dependencia no funciona de la misma manera. Si no existe al menos un valor en el cachekeys parámetro en el momento de una inserción, se produce un error en la inserción. Tenga en cuenta que no se produce ninguna excepción para este escenario.

Note

El seguimiento de cambios comienza inmediatamente y no se basa directamente en el start parámetro . Use el start parámetro para pasar una fecha y hora en el pasado en la que desea comprobar la fecha de última modificación de cualquiera de los objetos pasados en los filenamesparámetros , cachekeyso dependency . Si la fecha de última modificación de cualquiera de esos objetos es posterior a la fecha y hora pasadas en el start parámetro , el elemento almacenado en caché se quita de Cache.

Consulte también

Se aplica a