CacheDependency Construtores

Definição

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 derivadas de CacheDependency são necessárias para.

' 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 método adiciona um item ao Cache 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, em seguida, 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 

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 última data modificada do diretório ou arquivo passado no filename parâmetro . Se a data da última modificação for posterior à data e ao conjunto de horas passados 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 última data modificada da matriz passada no filenames parâmetro . Se a última data modificada de qualquer objeto na matriz for posterior à data e ao conjunto de horas passados 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 em 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 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 , dep1que 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 , dep1que 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 filenamesparâmetros , cachekeysou 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.

Confira também

Aplica-se a