CacheDependency Construtores
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Inicializa uma nova instância da classe CacheDependency.
Sobrecargas
CacheDependency() |
Inicializa uma nova instância da classe CacheDependency. |
CacheDependency(String) |
Inicializa uma nova instância da classe CacheDependency que monitora um arquivo ou diretório para alterações. |
CacheDependency(String[]) |
Inicializa uma nova instância da classe CacheDependency que monitora uma matriz de caminhos (para arquivos ou diretórios) quanto a alterações. |
CacheDependency(String, DateTime) |
Inicializa uma nova instância da classe CacheDependency que monitora um arquivo ou diretório para alterações. |
CacheDependency(String[], DateTime) |
Inicializa uma nova instância da classe CacheDependency que monitora uma matriz de caminhos (para arquivos ou diretórios) quanto a alterações e especifica uma hora em que o monitoramento de alterações começa. |
CacheDependency(String[], String[]) |
Inicializa uma nova instância da classe CacheDependency que monitora uma matriz de caminhos (para arquivos ou diretórios), uma matriz de chaves de cache ou ambas quanto a alterações. |
CacheDependency(String[], String[], DateTime) |
Inicializa uma nova instância da classe CacheDependency que monitora uma matriz de caminhos (para arquivos ou diretórios), uma matriz de chaves de cache ou ambas quanto a alterações. |
CacheDependency(String[], String[], CacheDependency) |
Inicializa uma nova instância da classe CacheDependency que monitora uma matriz de caminhos (para arquivos ou diretórios), uma matriz de chaves de cache ou ambas quanto a alterações. Também se torna dependente de uma instância separada da classe CacheDependency. |
CacheDependency(String[], String[], CacheDependency, DateTime) |
Inicializa uma nova instância da classe CacheDependency que monitora uma matriz de caminhos (para arquivos ou diretórios), uma matriz de chaves de cache ou ambas quanto a alterações. Também se torna dependente de outra instância da classe CacheDependency e da hora em que o monitoramento de alterações começa. |
CacheDependency()
Inicializa uma nova instância da classe CacheDependency.
protected:
CacheDependency();
protected CacheDependency ();
Protected Sub New ()
Exemplos
O exemplo de código a seguir é uma classe que implementa essa versão do CacheDependency construtor, pois todas as classes que derivam de CacheDependency são necessárias.
' 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
Comentários
Se você quiser derivar sua própria classe de CacheDependency, implemente esta versão do CacheDependency construtor.
Confira também
Aplica-se a
CacheDependency(String)
Inicializa uma nova instância da classe CacheDependency que monitora um arquivo 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 arquivo ou diretório do qual o objeto armazenado em cache depende. Quando esse recurso é alterado, o objeto armazenado em cache se torna obsoleto e é removido do cache.
Exemplos
O exemplo de código a seguir cria uma instância da CacheDependency classe com uma dependência em um arquivo XML. Em Cache.Insert seguida, o Cache método adiciona um item ao que depende desse arquivo.
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)
Você também pode usar a técnica a seguir para adicionar um item ao Cache com uma dependência em um arquivo.
// 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
Comentários
Se o diretório ou arquivo especificado no filename
parâmetro não for encontrado no sistema de arquivos, ele será tratado como ausente. Se o diretório ou arquivo estiver ausente quando o objeto com a dependência for adicionado ao Cache, o objeto armazenado em cache será removido do Cache quando o diretório ou arquivo for criado.
Por exemplo, suponha que você adicione um objeto ao Cache com uma dependência no seguinte caminho de arquivo: c:\stocks\xyz.dat. Se esse arquivo não for encontrado quando o CacheDependency objeto for criado, mas for criado posteriormente, o objeto armazenado em cache será removido após a criação do arquivo xyz.dat.
Confira também
Aplica-se a
CacheDependency(String[])
Inicializa uma nova instância da classe CacheDependency que monitora uma matriz de caminhos (para arquivos ou diretórios) quanto a 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[]
Uma matriz de caminhos (para arquivos ou diretórios) de que o objeto armazenado em cache depende. Quando um desses recursos é alterado, o objeto armazenado em cache se torna obsoleto e é removido do cache.
Exemplos
O exemplo de código a seguir demonstra como usar o Cache.Insert método para adicionar um item ao Cache com dependências em uma matriz de arquivos. Você também pode tornar o item dependente de uma matriz 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
Comentários
Se qualquer um dos arquivos ou diretórios na matriz for alterado ou removido da matriz, o item armazenado em cache ficará obsoleto e será removido do objeto do Cache aplicativo.
Além disso, se qualquer um dos diretórios ou arquivos especificados no filenames
parâmetro não for encontrado no sistema de arquivos, ele será tratado como ausente. Se um diretório ou arquivo estiver ausente quando o objeto com a dependência for adicionado ao Cache, o objeto armazenado em cache será removido do Cache quando esse diretório ou arquivo for criado.
Por exemplo, suponha que você adicione um objeto ao Cache com uma dependência no seguinte caminho de arquivo: c:\stocks\xyz.dat. Se esse arquivo não for encontrado quando o CacheDependency objeto for criado, mas for criado posteriormente, o objeto armazenado em cache será removido após a criação do arquivo xyz.dat.
Observação
Ao criar a matriz que contém as dependências de arquivo, você deve definir o número de arquivos dos quais o item que você está adicionando Cache depende.
Confira também
Aplica-se a
CacheDependency(String, DateTime)
Inicializa uma nova instância da classe CacheDependency que monitora um arquivo 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 arquivo ou diretório do qual o objeto armazenado em cache depende. Quando esse recurso é alterado, o objeto armazenado em cache se torna obsoleto e é removido do cache.
- start
- DateTime
A hora com relação à qual verificar a data da última modificação do arquivo ou diretório.
Exemplos
O exemplo de código a seguir usa esse construtor para instanciar um CacheDependency objeto e insere um item no Cache com essa dependência. O dt
valor passado no start
parâmetro é definido DateTime.Nowcomo .
// 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
Comentários
Se o diretório ou arquivo especificado no filename
parâmetro não for encontrado no sistema de arquivos, ele será tratado como ausente. Se o diretório ou arquivo estiver ausente quando o objeto com a dependência for adicionado ao Cache, o objeto armazenado em cache será removido do Cache quando o diretório ou arquivo for criado.
Por exemplo, suponha que você adicione um objeto ao Cache com uma dependência no seguinte caminho de arquivo: c:\stocks\xyz.dat. Se esse arquivo não for encontrado quando o CacheDependency objeto for criado, mas for criado posteriormente, o objeto armazenado em cache será removido após a criação do arquivo xyz.dat.
Observação
O controle de 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 em relação à qual você deseja verificar a data da última modificação do diretório ou arquivo passado no filename
parâmetro . Se a data da última modificação for posterior à data e hora definidas passadas start
no parâmetro , o item armazenado em cache será removido do Cache.
Confira também
Aplica-se a
CacheDependency(String[], DateTime)
Inicializa uma nova instância da classe CacheDependency que monitora uma matriz de caminhos (para arquivos ou diretórios) quanto a alterações e especifica uma hora em que o monitoramento de alterações começa.
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[]
Uma matriz de caminhos (para arquivos ou diretórios) de que o objeto armazenado em cache depende. Quando um desses recursos é alterado, o objeto armazenado em cache se torna obsoleto e é removido do cache.
- start
- DateTime
A hora com relação à qual verificar a data da última modificação dos objetos na matriz.
Exemplos
O exemplo de código a seguir cria um CacheDependency objeto que passa dois arquivos XML e um DateTime.Now valor quando o objeto é incluído como um argumento de parâmetro em uma 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
Comentários
Se qualquer um dos diretórios ou arquivos especificados no filenames
parâmetro não for encontrado no sistema de arquivos, ele será tratado como ausente. Se um diretório ou arquivo estiver ausente quando o objeto com a dependência for adicionado ao Cache, o objeto armazenado em cache será removido do Cache quando esse diretório ou arquivo for criado.
Por exemplo, suponha que você adicione um objeto ao Cache com uma dependência no seguinte caminho de arquivo: c:\stocks\xyz.dat. Se esse arquivo não for encontrado quando o CacheDependency objeto for criado, mas for criado posteriormente, o objeto armazenado em cache será removido após a criação do arquivo xyz.dat.
Observação
O controle de 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 em relação à qual você deseja verificar a data da última modificação da matriz passada no filenames
parâmetro . Se a data da última modificação de qualquer objeto na matriz for posterior à data e hora definidas passadas start
no parâmetro , o item armazenado em cache será removido do Cache.
Confira também
Aplica-se a
CacheDependency(String[], String[])
Inicializa uma nova instância da classe CacheDependency que monitora uma matriz de caminhos (para arquivos ou diretórios), uma matriz de chaves de cache ou ambas quanto a 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[]
Uma matriz de caminhos (para arquivos ou diretórios) de que o objeto armazenado em cache depende. Quando um desses recursos é alterado, o objeto armazenado em cache se torna obsoleto e é removido do cache.
- cachekeys
- String[]
Uma matriz de chaves de cache que o novo objeto monitora quanto a alterações. Quando alguma dessas chaves de cache é alterada, o objeto armazenado em cache associado a esse objeto de dependência se torna obsoleto e é removido do cache.
Exemplos
O fragmento de código a seguir demonstra como inserir um item no do Cache aplicativo com uma dependência de uma chave para outro item colocado no cache. Como esse método usa a sintaxe de matriz, você deve definir o número de chaves em que o item que você está adicionando ao 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
Comentários
Além disso, se qualquer um dos diretórios ou arquivos especificados no filenames
parâmetro não for encontrado no sistema de arquivos, ele será tratado como ausente. Se um diretório ou arquivo estiver ausente quando o objeto com a dependência for adicionado ao Cache, o objeto armazenado em cache será removido do Cache quando esse diretório ou arquivo for criado.
Por exemplo, suponha que você adicione um objeto ao Cache com uma dependência no seguinte caminho de arquivo: c:\stocks\xyz.dat. Se esse arquivo não for encontrado quando o CacheDependency objeto for criado, mas for criado posteriormente, o objeto armazenado em cache será removido após a criação do arquivo xyz.dat.
No entanto, a cachekeys
dependência não funciona da mesma maneira. Se pelo menos um valor no cachekeys
parâmetro não existir no momento de uma inserção, a inserção falhará. Observe que não há exceção gerada para esse cenário.
Confira também
Aplica-se a
CacheDependency(String[], String[], DateTime)
Inicializa uma nova instância da classe CacheDependency que monitora uma matriz de caminhos (para arquivos ou diretórios), uma matriz de chaves de cache ou ambas quanto a 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[]
Uma matriz de caminhos (para arquivos ou diretórios) de que o objeto armazenado em cache depende. Quando um desses recursos é alterado, o objeto armazenado em cache se torna obsoleto e é removido do cache.
- cachekeys
- String[]
Uma matriz de chaves de cache que o novo objeto monitora quanto a alterações. Quando alguma dessas chaves de cache é alterada, o objeto armazenado em cache associado a esse objeto de dependência se torna obsoleto e é removido do cache.
- start
- DateTime
A data e hora com relação às quais verificar a data da última modificação dos objetos passados nas matrizes filenames
e cachekeys
.
Exemplos
O exemplo de código a seguir cria um CreateDependency
método . Quando esse método é chamado, ele cria um DateTime objeto e a Cache.Item[] propriedade é usada para adicionar um item ao cache com um key
parâmetro de key1
e um valor de Value 1
. Uma matriz de cadeias de caracteres, dependencyKey
, é criada com o valor de key1
também. Esse CacheDependency construtor cria uma instância de um CacheDependency objeto que passa dependencyKey
e o DateTime objeto como argumentos de parâmetro. O Cache.Insert método é chamado em seguida, usando o CacheDependency objeto como um parâmetro. Isso torna o objeto adicionado ao 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
Comentários
Além disso, se qualquer um dos diretórios ou arquivos especificados no filenames
parâmetro não for encontrado no sistema de arquivos, ele será tratado como ausente. Se um diretório ou arquivo estiver ausente quando o objeto com a dependência for adicionado ao Cache, o objeto armazenado em cache será removido do Cache quando esse diretório ou arquivo for criado.
Por exemplo, suponha que você adicione um objeto ao Cache com uma dependência no seguinte caminho de arquivo: c:\stocks\xyz.dat. Se esse arquivo não for encontrado quando o CacheDependency objeto for criado, mas for criado posteriormente, o objeto armazenado em cache será removido após a criação do arquivo xyz.dat.
No entanto, a cachekeys
dependência não funciona da mesma maneira. Se pelo menos um valor no cachekeys
parâmetro não existir no momento de uma inserção, a inserção falhará. Observe que não há exceção gerada para esse cenário.
Observação
O controle de 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 em relação à qual você deseja verificar a data da última modificação de qualquer objeto passado nos filenames
parâmetros ou cachekeys
. Se a data da última modificação de qualquer um desses objetos for posterior à data e hora definidas passadas start
no parâmetro , o item armazenado em cache será removido do Cache.
Confira também
Aplica-se a
CacheDependency(String[], String[], CacheDependency)
Inicializa uma nova instância da classe CacheDependency que monitora uma matriz de caminhos (para arquivos ou diretórios), uma matriz de chaves de cache ou ambas quanto a alterações. Também se torna dependente de uma instância separada da classe 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[]
Uma matriz de caminhos (para arquivos ou diretórios) de que o objeto armazenado em cache depende. Quando um desses recursos é alterado, o objeto armazenado em cache se torna obsoleto e é removido do cache.
- cachekeys
- String[]
Uma matriz de chaves de cache que o novo objeto monitora quanto a alterações. Quando alguma dessas chaves de cache é alterada, o objeto armazenado em cache associado a esse objeto de dependência se torna obsoleto e é removido do cache.
- dependency
- CacheDependency
Outra instância da classe CacheDependency de que esta instância depende.
Exemplos
O exemplo de código a seguir cria um CreateDependency
método . Quando esse método é chamado, ele usa a Cache.Item[] propriedade para adicionar um item ao cache com um key
parâmetro de key1
e um valor de Value 1
. Uma matriz de cadeias de caracteres, dependencyKey
, é criada 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 esse construtor, com dep1
passado como o terceiro argumento de parâmetro. Essa segunda dependência depende da primeira. O Cache.Insert método é chamado em seguida, usando o segundo CacheDependency objeto como um parâmetro. Se a primeira dependência for alterada de alguma forma, o item armazenado 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
Comentários
Além disso, se qualquer um dos diretórios ou arquivos especificados no filenames
parâmetro não for encontrado no sistema de arquivos, ele será tratado como ausente. Se um diretório ou arquivo estiver ausente quando o objeto com a dependência for adicionado ao Cache, o objeto armazenado em cache será removido do Cache quando esse diretório ou arquivo for criado.
Por exemplo, suponha que você adicione um objeto ao Cache com uma dependência no seguinte caminho de arquivo: c:\stocks\xyz.dat. Se esse arquivo não for encontrado quando o CacheDependency objeto for criado, mas for criado posteriormente, o objeto armazenado em cache será removido após a criação do arquivo xyz.dat.
No entanto, a cachekeys
dependência não funciona da mesma maneira. Se pelo menos um valor no cachekeys
parâmetro não existir no momento de uma inserção, a inserção falhará. Observe que não há exceção gerada para esse cenário.
Aplica-se a
CacheDependency(String[], String[], CacheDependency, DateTime)
Inicializa uma nova instância da classe CacheDependency que monitora uma matriz de caminhos (para arquivos ou diretórios), uma matriz de chaves de cache ou ambas quanto a alterações. Também se torna dependente de outra instância da classe CacheDependency e da hora em que o monitoramento de alterações 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[]
Uma matriz de caminhos (para arquivos ou diretórios) de que o objeto armazenado em cache depende. Quando um desses recursos é alterado, o objeto armazenado em cache se torna obsoleto e é removido do cache.
- cachekeys
- String[]
Uma matriz de chaves de cache que o novo objeto monitora quanto a alterações. Quando alguma dessas chaves de cache é alterada, o objeto armazenado em cache associado a esse objeto de dependência se torna obsoleto e é removido do cache.
- dependency
- CacheDependency
Outra instância da classe CacheDependency de que esta instância depende.
- start
- DateTime
A hora com relação à qual verificar a data da última modificação dos objetos nas matrizes e do objeto CacheDependency.
Exemplos
O exemplo de código a seguir mostra um CreateDependency
método . Quando esse método é chamado, ele cria um DateTime objeto e a Cache.Item[] propriedade é usada para adicionar um item ao cache com um parâmetro de chave de key1
e um valor de Value 1
. Uma matriz de cadeias de caracteres, dependencyKey
, é criada com o valor em seu primeiro índice (e somente) definido como o valor de key1
também. Em CacheDependency.CacheDependency seguida, o construtor é usado para criar um CacheDependency objeto , dep1
que passa dependencyKey
como um argumento de parâmetro. Um segundo CacheDependency objeto, dep2
, é criado usando esse construtor, com dep1
e o DateTime objeto passado como argumentos de parâmetro. Essa segunda dependência depende do primeiro, e o monitoramento de dependência começará 10 segundos depois que o CreateDependency
método for chamado. O Cache.Insert método é chamado em seguida, usando o segundo CacheDependency objeto como um parâmetro. Se a primeira dependência for alterada de alguma forma, o item armazenado 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
Comentários
Além disso, se qualquer um dos diretórios ou arquivos especificados no filenames
parâmetro não for encontrado no sistema de arquivos, ele será tratado como ausente. Se um diretório ou arquivo estiver ausente quando o objeto com a dependência for adicionado ao Cache, o objeto armazenado em cache será removido do Cache quando esse diretório ou arquivo for criado.
Por exemplo, suponha que você adicione um objeto ao Cache com uma dependência no seguinte caminho de arquivo: c:\stocks\xyz.dat. Se esse arquivo não for encontrado quando o CacheDependency objeto for criado, mas for criado posteriormente, o objeto armazenado em cache será removido após a criação do arquivo xyz.dat.
No entanto, a cachekeys
dependência não funciona da mesma maneira. Se pelo menos um valor no cachekeys
parâmetro não existir no momento de uma inserção, a inserção falhará. Observe que não há exceção gerada para esse cenário.
Observação
O controle de 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 em relação à qual você deseja verificar a data da última modificação de qualquer um dos objetos passados nos filenames
parâmetros , cachekeys
ou dependency
. Se a data da última modificação para qualquer um desses objetos for posterior à data e hora passadas start
no parâmetro , o item armazenado em cache será removido do Cache.