Partilhar via


AggregateCacheDependency Classe

Definição

Combina várias dependências entre um item armazenado em um objeto Cache de um aplicativo ASP.NET e uma matriz de objetos CacheDependency. Essa classe não pode ser herdada.

public ref class AggregateCacheDependency sealed : System::Web::Caching::CacheDependency
public sealed class AggregateCacheDependency : System.Web.Caching.CacheDependency
type AggregateCacheDependency = class
    inherit CacheDependency
Public NotInheritable Class AggregateCacheDependency
Inherits CacheDependency
Herança
AggregateCacheDependency

Exemplos

O exemplo de código a seguir usa a AggregateCacheDependency classe para adicionar um DataSet, chamado XMLDataSet, ao cache que depende de um arquivo de texto e de um arquivo XML.

   ' When the page is loaded, use the 
   ' AggregateCacheDependency class to make 
   ' a cached item dependent on two files.
   
   Sub Page_Load(sender As Object, e As EventArgs)
      Dim Source As DataView
   
      Source = Cache("XMLDataSet")
   
      If Source Is Nothing
             Dim DS As New DataSet
             Dim FS As FileStream
             Dim Reader As StreamReader
             Dim txtDep As CacheDependency
             Dim xmlDep As CacheDependency
             Dim aggDep As AggregateCacheDependency
   
   
             FS = New FileStream(Server.MapPath("authors.xml"),FileMode.Open,FileAccess.Read)
             Reader = New StreamReader(FS)
             DS.ReadXml(Reader)
             FS.Close()
   
             Source = new DataView(ds.Tables(0))
            ' Create two CacheDependency objects, one to a
            ' text file and the other to an XML file. 
            ' Create a CacheDependency array with these 
            ' two objects as items in the array.
             txtDep = New CacheDependency(Server.MapPath("Storage.txt"))
             xmlDep = New CacheDependency(Server.MapPath("authors.xml"))
             Dim DepArray() As CacheDependency = {txtDep, xmlDep}

             ' Create an AggregateCacheDependency object and 
             ' use the Add method to add the array to it.   
             aggDep = New AggregateCacheDependency()
             aggDep.Add(DepArray)
   
             ' Call the GetUniqueId method to generate
             ' an ID for each dependency in the array.
             msg1.Text = aggDep.GetUniqueId()
             
             ' Add the new data set to the cache with 
             ' dependencies on both files in the array.
             Cache.Insert("XMLDataSet", Source, aggDep)
             If aggDep.HasChanged = True Then
                chngMsg.Text = "The dependency changed at: " & DateTime.Now
   
             Else
                chngMsg.Text = "The dependency changed last at: " & aggDep.UtcLastModified.ToString()
             End If

   
             cacheMsg1.Text = "Dataset created explicitly"
           Else
             cacheMsg1.Text = "Dataset retrieved from cache"
           End If
   
   
             MyLiteral.Text = Source.Table.TableName
             MyDataGrid.DataSource = Source
             MyDataGrid.DataBind()
         End Sub
 

         Public Sub btn_Click(sender As Object, e As EventArgs )
   
          If (MyTextBox.Text = String.Empty) Then
             msg2.Text ="You have not changed the text file."
          Else
             msg2.Text="You added " & MyTextBox.Text & "."
   
             ' Create an instance of the StreamWriter class
             ' to write text to a file.
             Dim sw As StreamWriter
             sw = File.CreateText(Server.MapPath("Storage.txt"))
   
             ' Add some text to the file.
             sw.Write("You entered:")
             sw.WriteLine(MyTextBox.Text)
   
             ' Write arbitrary objects to the file as needed.
             sw.Write("Text added at:")
             sw.WriteLine(DateTime.Now)
             sw.WriteLine("-------------------")
             sw.Close()
          End If
        End Sub

Comentários

A AggregateCacheDependency classe monitora uma coleção de objetos de dependência para que, quando qualquer um deles for alterado, o item armazenado em cache seja removido automaticamente. Os objetos na matriz podem ser CacheDependency objetos, SqlCacheDependency objetos, objetos personalizados derivados de CacheDependencyou qualquer combinação deles.

A AggregateCacheDependency classe difere da CacheDependency classe em que permite associar várias dependências de diferentes tipos a um único item armazenado em cache. Por exemplo, se você criar uma página que importe dados de uma tabela de banco de dados SQL Server e de um arquivo XML, poderá criar um SqlCacheDependency objeto para representar uma dependência na tabela de banco de dados e uma CacheDependency para representar a dependência do arquivo XML. Em vez de fazer uma Cache.Insert chamada de método para cada dependência, você pode criar uma instância da AggregateCacheDependency classe com cada dependência adicionada a ela. Em seguida, você pode usar uma única Insert chamada para tornar a página dependente da AggregateCacheDependency instância.

Construtores

AggregateCacheDependency()

Inicializa uma nova instância da classe AggregateCacheDependency.

Propriedades

HasChanged

Obtém um valor que indica se o objeto CacheDependency foi alterado.

(Herdado de CacheDependency)
UtcLastModified

Obtém a hora em que a dependência foi alterada pela última vez.

(Herdado de CacheDependency)

Métodos

Add(CacheDependency[])

Adiciona uma matriz de objetos CacheDependency ao objeto AggregateCacheDependency.

DependencyDispose()

Libera os recursos usados pela classe CacheDependency e pelas classes que derivam de CacheDependency.

(Herdado de CacheDependency)
Dispose()

Libera os recursos usados pelo objeto CacheDependency.

(Herdado de CacheDependency)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
FinishInit()

Conclui a inicialização do objeto CacheDependency.

(Herdado de CacheDependency)
GetFileDependencies()

Obtém as dependências de arquivo.

GetFileDependencies()

Obtém as dependências de arquivo.

(Herdado de CacheDependency)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetUniqueID()

Recupera um identificador exclusivo para o objeto AggregateCacheDependency.

ItemRemoved()

Chamado quando uma entrada de cache monitorado é removida.

(Herdado de CacheDependency)
KeepDependenciesAlive()

Atualiza a hora do último acesso de cada item de cache que depende desse item.

(Herdado de CacheDependency)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
NotifyDependencyChanged(Object, EventArgs)

Notifica o objeto CacheDependency de base de que a dependência representada por uma classe CacheDependency derivada foi alterada.

(Herdado de CacheDependency)
SetCacheDependencyChanged(Action<Object,EventArgs>)

Adiciona um método de Ação para tratar da notificação de terceiros interessados nas alterações nessa dependência.

(Herdado de CacheDependency)
SetUtcLastModified(DateTime)

Marca a hora em que a dependência foi alterada pela última vez.

(Herdado de CacheDependency)
TakeOwnership()

Permite que o primeiro usuário declare a propriedade exclusiva desta dependência.

(Herdado de CacheDependency)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a