AggregateCacheDependency Classe
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.
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
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) |