CacheDependency Constructores
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Inicializa una nueva instancia de la clase CacheDependency.
Sobrecargas
CacheDependency() |
Inicializa una nueva instancia de la clase CacheDependency. |
CacheDependency(String) |
Inicializa una nueva instancia de la clase CacheDependency que supervisa un archivo o directorio en lo que se refiere a los cambios. |
CacheDependency(String[]) |
Inicializa una nueva instancia de la clase CacheDependency que supervisa los cambios en una matriz de rutas de acceso (a archivos o directorios). |
CacheDependency(String, DateTime) |
Inicializa una nueva instancia de la clase CacheDependency que supervisa un archivo o directorio en lo que se refiere a los cambios. |
CacheDependency(String[], DateTime) |
Inicializa una nueva instancia de la clase CacheDependency que supervisa los cambios en una matriz de rutas de acceso (a archivos o directorios) y especifica la hora a la que comienza la supervisión de cambios. |
CacheDependency(String[], String[]) |
Inicializa una nueva instancia de la clase CacheDependency que supervisa los cambios en una matriz de rutas de acceso (a archivos o directorios), en una matriz de claves de caché o en ambas. |
CacheDependency(String[], String[], DateTime) |
Inicializa una nueva instancia de la clase CacheDependency que supervisa los cambios en una matriz de rutas de acceso (a archivos o directorios), en una matriz de claves de caché o en ambas. |
CacheDependency(String[], String[], CacheDependency) |
Inicializa una nueva instancia de la clase CacheDependency que supervisa los cambios en una matriz de rutas de acceso (a archivos o directorios), en una matriz de claves de caché o en ambas. También pasa a convertirse en dependiente en una instancia aparte de la clase CacheDependency. |
CacheDependency(String[], String[], CacheDependency, DateTime) |
Inicializa una nueva instancia de la clase CacheDependency que supervisa los cambios en una matriz de rutas de acceso (a archivos o directorios), en una matriz de claves de caché o en ambas. También pasa a convertirse en dependiente en otra instancia de la clase CacheDependency y a la hora a la que empieza a realizarse la supervisión de los 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, ya 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 clase CacheDependency que supervisa un archivo o directorio en lo que se refiere a 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 a un archivo o directorio del que depende el objeto en caché. Cuando cambia este recurso, el objeto almacenado en caché queda obsoleto y se quita de la 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 Cache cuando se cree el directorio o el archivo.
Por ejemplo, supongamos que agrega un objeto a Cache con una dependencia en la siguiente ruta de acceso de archivo: c:\stocks\xyz.dat. Si ese archivo no se encuentra 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 clase CacheDependency que supervisa los cambios en una matriz de rutas de acceso (a archivos o directorios).
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 la que depende el objeto almacenado en caché. Cuando cambia alguno de estos recursos, el objeto almacenado en caché queda obsoleto y se quita de la 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 un 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 Cache con una dependencia en la siguiente ruta de acceso de archivo: c:\stocks\xyz.dat. Si ese archivo no se encuentra 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.
Nota
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 clase CacheDependency que supervisa un archivo o directorio en lo que se refiere a 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 a un archivo o directorio del que depende el objeto en caché. Cuando cambia este recurso, el objeto almacenado en caché queda obsoleto y se quita de la caché.
- start
- DateTime
Hora que se utilizará como referencia para 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 una instancia 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 Cache cuando se cree el directorio o el archivo.
Por ejemplo, supongamos que agrega un objeto a Cache con una dependencia en la siguiente ruta de acceso de archivo: c:\stocks\xyz.dat. Si ese archivo no se encuentra 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.
Nota
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 el que desea comprobar la fecha de última modificación del directorio o archivo pasados en el filename
parámetro . Si la fecha de la última modificación 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[], DateTime)
Inicializa una nueva instancia de la clase CacheDependency que supervisa los cambios en una matriz de rutas de acceso (a archivos o directorios) y especifica la hora a la 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 la que depende el objeto almacenado en caché. Cuando cambia alguno de estos recursos, el objeto almacenado en caché queda obsoleto y se quita de la caché.
- start
- DateTime
Hora que se utilizará como referencia para 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 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 un 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 Cache con una dependencia en la siguiente ruta de acceso de archivo: c:\stocks\xyz.dat. Si ese archivo no se encuentra 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.
Nota
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 clase CacheDependency que supervisa los cambios en una matriz de rutas de acceso (a archivos o directorios), en una matriz de claves de caché o en ambas.
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 la que depende el objeto almacenado en caché. Cuando cambia alguno de estos recursos, el objeto almacenado en caché queda obsoleto y se quita de la caché.
- cachekeys
- String[]
Matriz de claves de caché que el nuevo objeto supervisa por si hay cambios. Cuando cambia alguna de estas claves de caché, el objeto almacenado en caché asociado a este objeto de dependencia queda obsoleto y se quita de la caché.
Ejemplos
El siguiente fragmento de código 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 un 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 Cache con una dependencia en la siguiente ruta de acceso de archivo: c:\stocks\xyz.dat. Si ese archivo no se encuentra 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 al menos un valor del cachekeys
parámetro no existe 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 clase CacheDependency que supervisa los cambios en una matriz de rutas de acceso (a archivos o directorios), en una matriz de claves de caché o en ambas.
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 la que depende el objeto almacenado en caché. Cuando cambia alguno de estos recursos, el objeto almacenado en caché queda obsoleto y se quita de la caché.
- cachekeys
- String[]
Matriz de claves de caché que el nuevo objeto supervisa por si hay cambios. Cuando cambia alguna de estas claves de caché, el objeto almacenado en caché asociado a este objeto de dependencia queda obsoleto y se quita de la caché.
- start
- DateTime
Fecha y hora que se utilizarán como referencia para comprobar la fecha de última modificación de los objetos pasados en las matrices filenames
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. A Cache.Insert continuación, se llama al método utilizando 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 un 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 Cache con una dependencia en la siguiente ruta de acceso de archivo: c:\stocks\xyz.dat. Si ese archivo no se encuentra cuando se crea el CacheDependency objeto, pero se crea más adelante, el objeto almacenado en caché se quita tras la creación del 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.
Nota
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 la ú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 establecida pasada 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 clase CacheDependency que supervisa los cambios en una matriz de rutas de acceso (a archivos o directorios), en una matriz de claves de caché o en ambas. También pasa a convertirse en dependiente en una instancia aparte de la clase CacheDependency.
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 la que depende el objeto almacenado en caché. Cuando cambia alguno de estos recursos, el objeto almacenado en caché queda obsoleto y se quita de la caché.
- cachekeys
- String[]
Matriz de claves de caché que el nuevo objeto supervisa por si hay cambios. Cuando cambia alguna de estas claves de caché, el objeto almacenado en caché asociado a este objeto de dependencia queda obsoleto y se quita de la caché.
- dependency
- CacheDependency
Otra instancia de la clase CacheDependency de la que esta instancia es dependiente.
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 , dep1
que pasa dependencyKey
como argumento de parámetro. Se crea un segundo CacheDependency objeto, dep2
, con este constructor, con dep1
pasado como tercer argumento de parámetro. Esta segunda dependencia depende de la primera. El Cache.Insert método se llama a continuación, usando 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 un 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 Cache con una dependencia en la siguiente ruta de acceso de archivo: c:\stocks\xyz.dat. Si ese archivo no se encuentra cuando se crea el CacheDependency objeto, pero se crea más adelante, el objeto almacenado en caché se quita tras la creación del 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 clase CacheDependency que supervisa los cambios en una matriz de rutas de acceso (a archivos o directorios), en una matriz de claves de caché o en ambas. También pasa a convertirse en dependiente en otra instancia de la clase CacheDependency y a la hora a la que empieza a realizarse la supervisión de los 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 la que depende el objeto almacenado en caché. Cuando cambia alguno de estos recursos, el objeto almacenado en caché queda obsoleto y se quita de la caché.
- cachekeys
- String[]
Matriz de claves de caché que el nuevo objeto supervisa por si hay cambios. Cuando cambia alguna de estas claves de caché, el objeto almacenado en caché asociado a este objeto de dependencia queda obsoleto y se quita de la caché.
- dependency
- CacheDependency
Otra instancia de la clase CacheDependency de la que esta instancia es dependiente.
- start
- DateTime
Hora que se utilizará como referencia para comprobar la fecha de última modificación de los objetos de las matrices y el objeto CacheDependency.
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 CacheDependency.CacheDependency continuación, el constructor se usa para crear un CacheDependency objeto , dep1
que pasa dependencyKey
como argumento de parámetro. A continuación, se crea un segundo CacheDependency objeto con dep2
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, usando 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 un 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 Cache con una dependencia en la siguiente ruta de acceso de archivo: c:\stocks\xyz.dat. Si ese archivo no se encuentra cuando se crea el CacheDependency objeto, pero se crea más adelante, el objeto almacenado en caché se quita tras la creación del 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.
Nota
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 la última modificación de cualquiera de los objetos pasados en los filenames
parámetros , cachekeys
o 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.