CacheDependency Construtores
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Inicializa uma nova instância da CacheDependency classe.
Sobrecargas
| Name | Description |
|---|---|
| CacheDependency() |
Inicializa uma nova instância da CacheDependency classe. |
| CacheDependency(String) |
Inicializa uma nova instância da CacheDependency classe que monitoriza um ficheiro ou diretório para alterações. |
| CacheDependency(String[]) |
Inicializa uma nova instância da CacheDependency classe que monitoriza um array de caminhos (para ficheiros ou diretórios) à procura de alterações. |
| CacheDependency(String, DateTime) |
Inicializa uma nova instância da CacheDependency classe que monitoriza um ficheiro ou diretório para alterações. |
| CacheDependency(String[], DateTime) |
Inicializa uma nova instância da CacheDependency classe que monitoriza um array de caminhos (para ficheiros ou diretórios) à procura de alterações e especifica o momento em que começa a monitorização de alterações. |
| CacheDependency(String[], String[]) |
Inicializa uma nova instância da CacheDependency classe que monitoriza um array de caminhos (para ficheiros ou diretórios), um array de chaves de cache, ou ambos para alterações. |
| CacheDependency(String[], String[], DateTime) |
Inicializa uma nova instância da CacheDependency classe que monitoriza um array de caminhos (para ficheiros ou diretórios), um array de chaves de cache, ou ambos para alterações. |
| CacheDependency(String[], String[], CacheDependency) |
Inicializa uma nova instância da CacheDependency classe que monitoriza um array de caminhos (para ficheiros ou diretórios), um array de chaves de cache, ou ambos para alterações. Também se torna dependente de uma instância separada da CacheDependency classe. |
| CacheDependency(String[], String[], CacheDependency, DateTime) |
Inicializa uma nova instância da CacheDependency classe que monitoriza um array de caminhos (para ficheiros ou diretórios), um array de chaves de cache, ou ambos para alterações. Também se torna dependente de outra instância da CacheDependency classe e de um momento em que a monitorização da mudança começa. |
CacheDependency()
Inicializa uma nova instância da CacheDependency classe.
protected:
CacheDependency();
protected CacheDependency();
Protected Sub New ()
Exemplos
O seguinte exemplo de código é uma classe que implementa esta versão do CacheDependency construtor, pois todas as classes que derivam de CacheDependency são obrigadas a fazê-lo.
' 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
Observações
Se quiseres derivar a tua própria classe a partir de CacheDependency, implementa esta versão do CacheDependency construtor.
Ver também
Aplica-se a
CacheDependency(String)
Inicializa uma nova instância da CacheDependency classe que monitoriza um ficheiro ou diretório para alterações.
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
O caminho para um ficheiro ou diretório do qual o objeto em cache é dependente. Quando este recurso muda, o objeto em cache torna-se obsoleto e é removido da cache.
Exemplos
O exemplo de código seguinte cria uma instância da CacheDependency classe com dependência de um ficheiro XML. O Cache.Insert método adiciona então um item ao Cache que depende desse ficheiro.
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)
Também pode usar a técnica seguinte para adicionar um item ao Cache com uma dependência de um ficheiro.
// 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
Observações
Se o diretório ou ficheiro especificado no filename parâmetro não for encontrado no sistema de ficheiros, será tratado como ausente. Se o diretório ou ficheiro estiver em falta quando o objeto com a dependência for adicionado ao Cache, o objeto em cache será removido do Cache quando o diretório ou ficheiro for criado.
Por exemplo, suponha que adiciona um objeto ao Cache com uma dependência do seguinte caminho de ficheiro: c:\stocks\xyz.dat. Se esse ficheiro não for encontrado quando o CacheDependency objeto é criado, mas for criado mais tarde, o objeto em cache é removido aquando da criação do ficheiro xyz.dat.
Ver também
Aplica-se a
CacheDependency(String[])
Inicializa uma nova instância da CacheDependency classe que monitoriza um array de caminhos (para ficheiros ou diretórios) à procura de alterações.
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[]
Um array de caminhos (para ficheiros ou diretórios) dos quais o objeto em cache depende. Quando algum destes recursos muda, o objeto em cache torna-se obsoleto e é removido da cache.
Exemplos
O exemplo de código seguinte demonstra como usar o Cache.Insert método para adicionar um item ao Cache com dependências num array de ficheiros. Também pode tornar o item dependente de um conjunto de diretórios.
// 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
Observações
Se algum dos ficheiros ou diretórios do array for alterado ou removido do array, o item em cache torna-se obsoleto e é removido do objeto da Cache aplicação.
Além disso, se algum dos diretórios ou ficheiros especificados no filenames parâmetro não for encontrado no sistema de ficheiros, é considerado em falta. Se um diretório ou ficheiro estiver em falta quando o objeto com a dependência for adicionado ao Cache, o objeto em cache será removido do Cache quando esse diretório ou ficheiro for criado.
Por exemplo, suponha que adiciona um objeto ao Cache com uma dependência do seguinte caminho de ficheiro: c:\stocks\xyz.dat. Se esse ficheiro não for encontrado quando o CacheDependency objeto é criado, mas for criado mais tarde, o objeto em cache é removido aquando da criação do ficheiro xyz.dat.
Note
Quando cria o array que contém as dependências de ficheiros, deve definir o número de ficheiros de que o item a que está a adicionar Cache depende.
Ver também
Aplica-se a
CacheDependency(String, DateTime)
Inicializa uma nova instância da CacheDependency classe que monitoriza um ficheiro ou diretório para alterações.
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
O caminho para um ficheiro ou diretório do qual o objeto em cache é dependente. Quando este recurso muda, o objeto em cache torna-se obsoleto e é removido da cache.
- start
- DateTime
O tempo a partir do qual verificar a última data de modificação do diretório ou ficheiro.
Exemplos
O exemplo de código seguinte usa este construtor para instanciar um CacheDependency objeto, depois insere um item no Cache com essa dependência. O dt valor passado no start parâmetro é definido como 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
Observações
Se o diretório ou ficheiro especificado no filename parâmetro não for encontrado no sistema de ficheiros, será tratado como ausente. Se o diretório ou ficheiro estiver em falta quando o objeto com a dependência for adicionado ao Cache, o objeto em cache será removido do Cache quando o diretório ou ficheiro for criado.
Por exemplo, suponha que adiciona um objeto ao Cache com uma dependência do seguinte caminho de ficheiro: c:\stocks\xyz.dat. Se esse ficheiro não for encontrado quando o CacheDependency objeto é criado, mas for criado mais tarde, o objeto em cache é removido aquando da criação do ficheiro xyz.dat.
Note
O acompanhamento das alterações começa imediatamente e não se baseia diretamente no start parâmetro. Use o start parâmetro para passar uma data e hora no passado contra as quais quer verificar a última data de modificação do diretório ou ficheiro passado no filename parâmetro. Se a última data de modificação for posterior à data e hora definidas no start parâmetro, o item em cache é removido do Cache.
Ver também
Aplica-se a
CacheDependency(String[], DateTime)
Inicializa uma nova instância da CacheDependency classe que monitoriza um array de caminhos (para ficheiros ou diretórios) à procura de alterações e especifica o momento em que começa a monitorização de alterações.
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[]
Um array de caminhos (para ficheiros ou diretórios) dos quais o objeto em cache depende. Quando algum destes recursos muda, o objeto em cache torna-se obsoleto e é removido da cache.
- start
- DateTime
O tempo em que verificar a última data de modificação dos objetos no array.
Exemplos
O exemplo de código seguinte cria um CacheDependency objeto que passa dois ficheiros XML e um DateTime.Now valor quando o objeto é incluído como argumento de parâmetro numa Cache.Insert chamada 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
Observações
Se algum dos diretórios ou ficheiros especificados no filenames parâmetro não for encontrado no sistema de ficheiros, é tratado como ausente. Se um diretório ou ficheiro estiver em falta quando o objeto com a dependência for adicionado ao Cache, o objeto em cache será removido do Cache quando esse diretório ou ficheiro for criado.
Por exemplo, suponha que adiciona um objeto ao Cache com uma dependência do seguinte caminho de ficheiro: c:\stocks\xyz.dat. Se esse ficheiro não for encontrado quando o CacheDependency objeto é criado, mas for criado mais tarde, o objeto em cache é removido aquando da criação do ficheiro xyz.dat.
Note
O acompanhamento das alterações começa imediatamente e não se baseia diretamente no start parâmetro. Use o start parâmetro para passar uma data e hora no passado contra as quais quer verificar a última data de modificação do array passado no filenames parâmetro. Se a última data de modificação de qualquer objeto no array for posterior à data e hora definidas no start parâmetro, o item em cache é removido do Cache.
Ver também
Aplica-se a
CacheDependency(String[], String[])
Inicializa uma nova instância da CacheDependency classe que monitoriza um array de caminhos (para ficheiros ou diretórios), um array de chaves de cache, ou ambos para alterações.
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[]
Um array de caminhos (para ficheiros ou diretórios) dos quais o objeto em cache depende. Quando algum destes recursos muda, o objeto em cache torna-se obsoleto e é removido da cache.
- cachekeys
- String[]
Um array de chaves de cache que o novo objeto monitoriza para detectar alterações. Quando qualquer uma destas chaves de cache muda, o objeto em cache associado a este objeto de dependência torna-se obsoleto e é removido da cache.
Exemplos
O seguinte fragmento de código demonstra como inserir um item na sua aplicação Cache com uma dependência de uma chave para outro item colocado na cache. Como este método utiliza sintaxe de arrays, deve definir o número de chaves de que o item que está a adicionar Cache é dependente.
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
Observações
Além disso, se algum dos diretórios ou ficheiros especificados no filenames parâmetro não for encontrado no sistema de ficheiros, é considerado em falta. Se um diretório ou ficheiro estiver em falta quando o objeto com a dependência for adicionado ao Cache, o objeto em cache será removido do Cache quando esse diretório ou ficheiro for criado.
Por exemplo, suponha que adiciona um objeto ao Cache com uma dependência do seguinte caminho de ficheiro: c:\stocks\xyz.dat. Se esse ficheiro não for encontrado quando o CacheDependency objeto é criado, mas for criado mais tarde, o objeto em cache é removido aquando da criação do ficheiro xyz.dat.
No entanto, a cachekeys dependência não funciona da mesma forma. Se pelo menos um valor no cachekeys parâmetro não existir no momento de uma inserção, a inserção falha. Note que não há exceção para este cenário.
Ver também
Aplica-se a
CacheDependency(String[], String[], DateTime)
Inicializa uma nova instância da CacheDependency classe que monitoriza um array de caminhos (para ficheiros ou diretórios), um array de chaves de cache, ou ambos para alterações.
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[]
Um array de caminhos (para ficheiros ou diretórios) dos quais o objeto em cache depende. Quando algum destes recursos muda, o objeto em cache torna-se obsoleto e é removido da cache.
- cachekeys
- String[]
Um array de chaves de cache que o novo objeto monitoriza para detectar alterações. Quando qualquer uma destas chaves de cache muda, o objeto em cache associado a este objeto de dependência torna-se obsoleto e é removido da cache.
- start
- DateTime
A data e hora para verificar a última data de modificação dos objetos passados nos filenames arrays e.cachekeys
Exemplos
O exemplo de código seguinte cria um CreateDependency método. Quando este método é chamado, cria-se um DateTime objeto e a Cache.Item[] propriedade é usada para adicionar um item à cache com um key parâmetro de key1 e um valor de Value 1. Um array de cadeias, dependencyKey, é então criado com o valor de key1 também. Este CacheDependency construtor instancia então um CacheDependency objeto que passa dependencyKey e o DateTime objeto como argumentos de parâmetro. O Cache.Insert método é chamado a seguir, usando o CacheDependency objeto como parâmetro. Isto torna o objeto adicionado à cache usando o Insert método dependente da key1 chave.
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
Observações
Além disso, se algum dos diretórios ou ficheiros especificados no filenames parâmetro não for encontrado no sistema de ficheiros, é considerado em falta. Se um diretório ou ficheiro estiver em falta quando o objeto com a dependência for adicionado ao Cache, o objeto em cache será removido do Cache quando esse diretório ou ficheiro for criado.
Por exemplo, suponha que adiciona um objeto ao Cache com uma dependência do seguinte caminho de ficheiro: c:\stocks\xyz.dat. Se esse ficheiro não for encontrado quando o CacheDependency objeto é criado, mas for criado mais tarde, o objeto em cache é removido aquando da criação do ficheiro xyz.dat.
No entanto, a cachekeys dependência não funciona da mesma forma. Se pelo menos um valor no cachekeys parâmetro não existir no momento de uma inserção, a inserção falha. Note que não há exceção para este cenário.
Note
O acompanhamento das alterações começa imediatamente e não se baseia diretamente no start parâmetro. Use o start parâmetro para passar uma data e hora no passado contra as quais quer verificar a última data de modificação de qualquer objeto passado nos filenames parâmetros ou.cachekeys Se a última data de modificação de qualquer um desses objetos for posterior à data e hora definidas no start parâmetro, o item em cache é removido do Cachearquivo .
Ver também
Aplica-se a
CacheDependency(String[], String[], CacheDependency)
Inicializa uma nova instância da CacheDependency classe que monitoriza um array de caminhos (para ficheiros ou diretórios), um array de chaves de cache, ou ambos para alterações. Também se torna dependente de uma instância separada da CacheDependency classe.
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[]
Um array de caminhos (para ficheiros ou diretórios) dos quais o objeto em cache depende. Quando algum destes recursos muda, o objeto em cache torna-se obsoleto e é removido da cache.
- cachekeys
- String[]
Um array de chaves de cache que o novo objeto monitoriza para detectar alterações. Quando qualquer uma destas chaves de cache muda, o objeto em cache associado a este objeto de dependência torna-se obsoleto e é removido da cache.
- dependency
- CacheDependency
Outra instância da CacheDependency classe da qual esta instância depende.
Exemplos
O exemplo de código seguinte cria um CreateDependency método. Quando este método é chamado, utiliza a Cache.Item[] propriedade para adicionar um item à cache com um key parâmetro de key1 e um valor de Value 1. Um array de cadeias, dependencyKey, é então criado com o valor de key1 também. O CacheDependency.CacheDependency construtor é usado para criar um CacheDependency objeto, dep1, que passa dependencyKey como um argumento de parâmetro. Um segundo CacheDependency objeto, dep2, é criado usando este construtor, com dep1 passed como terceiro argumento de parâmetro. Esta segunda dependência depende da primeira. O Cache.Insert método é chamado a seguir, usando o segundo CacheDependency objeto como parâmetro. Se a primeira dependência mudar de alguma forma, o item em cache será invalidado.
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
Observações
Além disso, se algum dos diretórios ou ficheiros especificados no filenames parâmetro não for encontrado no sistema de ficheiros, é considerado em falta. Se um diretório ou ficheiro estiver em falta quando o objeto com a dependência for adicionado ao Cache, o objeto em cache será removido do Cache quando esse diretório ou ficheiro for criado.
Por exemplo, suponha que adiciona um objeto ao Cache com uma dependência do seguinte caminho de ficheiro: c:\stocks\xyz.dat. Se esse ficheiro não for encontrado quando o CacheDependency objeto é criado, mas for criado mais tarde, o objeto em cache é removido aquando da criação do ficheiro xyz.dat.
No entanto, a cachekeys dependência não funciona da mesma forma. Se pelo menos um valor no cachekeys parâmetro não existir no momento de uma inserção, a inserção falha. Note que não há exceção para este cenário.
Aplica-se a
CacheDependency(String[], String[], CacheDependency, DateTime)
Inicializa uma nova instância da CacheDependency classe que monitoriza um array de caminhos (para ficheiros ou diretórios), um array de chaves de cache, ou ambos para alterações. Também se torna dependente de outra instância da CacheDependency classe e de um momento em que a monitorização da mudança começa.
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[]
Um array de caminhos (para ficheiros ou diretórios) dos quais o objeto em cache depende. Quando algum destes recursos muda, o objeto em cache torna-se obsoleto e é removido da cache.
- cachekeys
- String[]
Um array de chaves de cache que o novo objeto monitoriza para detectar alterações. Quando qualquer uma destas chaves de cache muda, o objeto em cache associado a este objeto de dependência torna-se obsoleto e é removido da cache.
- dependency
- CacheDependency
Outra instância da CacheDependency classe da qual esta instância depende.
- start
- DateTime
O tempo em relação ao qual verificar a última data de modificação dos objetos nos arrays e do CacheDependency objeto.
Exemplos
O seguinte exemplo de código mostra um CreateDependency método. Quando este método é chamado, cria-se um DateTime objeto e a Cache.Item[] propriedade é usada para adicionar um item à cache com um parâmetro chave de key1 e um valor de Value 1. Um array de cadeias, dependencyKey, é então criado com o valor no seu primeiro (e único) índice definido também para o valor de key1 . O CacheDependency.CacheDependency construtor é então usado para criar um CacheDependency objeto, dep1, que passa dependencyKey como argumento de parâmetro. Um segundo CacheDependency objeto, dep2, é então criado usando este construtor, com dep1 e o DateTime objeto passado como argumentos de parâmetro. Esta segunda dependência depende da primeira, e a monitorização da dependência começa 10 segundos após o CreateDependency método ser chamado. O Cache.Insert método é chamado a seguir, usando o segundo CacheDependency objeto como parâmetro. Se a primeira dependência mudar de alguma forma, o item em cache será invalidado.
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
Observações
Além disso, se algum dos diretórios ou ficheiros especificados no filenames parâmetro não for encontrado no sistema de ficheiros, é considerado em falta. Se um diretório ou ficheiro estiver em falta quando o objeto com a dependência for adicionado ao Cache, o objeto em cache será removido do Cache quando esse diretório ou ficheiro for criado.
Por exemplo, suponha que adiciona um objeto ao Cache com uma dependência do seguinte caminho de ficheiro: c:\stocks\xyz.dat. Se esse ficheiro não for encontrado quando o CacheDependency objeto é criado, mas for criado mais tarde, o objeto em cache é removido aquando da criação do ficheiro xyz.dat.
No entanto, a cachekeys dependência não funciona da mesma forma. Se pelo menos um valor no cachekeys parâmetro não existir no momento de uma inserção, a inserção falha. Note que não há exceção para este cenário.
Note
O acompanhamento das alterações começa imediatamente e não se baseia diretamente no start parâmetro. Use o start parâmetro para passar uma data e hora no passado contra as quais pretende verificar a última data de modificação de qualquer um dos objetos passados nos filenamesparâmetros, cachekeys, ou dependency . Se a última data de modificação para qualquer um desses objetos for posterior à data e hora passadas no start parâmetro, o item em cache é removido do Cachearquivo .