CacheDependency Construtores

Definição

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 .

Ver também

Aplica-se a