AggregateCacheDependency Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Combina múltiplas dependências entre um item armazenado no objeto Cache de uma aplicação ASP.NET e um array de objetos CacheDependency. Esta 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 seguinte usa a AggregateCacheDependency classe para adicionar um DataSet, nomeado XMLDataSet, à cache que depende de um ficheiro de texto e de um ficheiro 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
Observações
A AggregateCacheDependency classe monitoriza uma coleção de objetos de dependência para que, quando algum deles mude, o item em cache seja automaticamente removido. Os objetos no array podem ser CacheDependency objetos, SqlCacheDependency objetos, objetos personalizados derivados de CacheDependency, ou qualquer combinação destes.
A AggregateCacheDependency classe difere da CacheDependency classe por permitir associar múltiplas dependências de diferentes tipos a um único item em cache. Por exemplo, se criares uma página que importa dados de uma tabela de base de dados SQL Server e de um ficheiro XML, podes criar um objeto SqlCacheDependency para representar uma dependência na tabela da base de dados e um CacheDependency para representar a dependência do ficheiro XML. Em vez de fazer uma Cache.Insert chamada de método para cada dependência, pode criar uma instância da AggregateCacheDependency classe com cada dependência adicionada. Pode então usar uma única Insert chamada para tornar a página dependente da AggregateCacheDependency instância.
Construtores
| Name | Description |
|---|---|
| AggregateCacheDependency() |
Inicializa uma nova instância da AggregateCacheDependency classe. |
Propriedades
| Name | Description |
|---|---|
| HasChanged |
Recebe um valor que indica se o CacheDependency objeto mudou. (Herdado de CacheDependency) |
| UtcLastModified |
Obtém a hora em que a dependência foi alterada pela última vez. (Herdado de CacheDependency) |
Métodos
| Name | Description |
|---|---|
| Add(CacheDependency[]) |
Adiciona um array de CacheDependency objetos ao AggregateCacheDependency objeto. |
| DependencyDispose() |
Liberta os recursos usados pela CacheDependency classe e quaisquer classes que derivem de CacheDependency. (Herdado de CacheDependency) |
| Dispose() |
Liberta os recursos usados pelo CacheDependency objeto. (Herdado de CacheDependency) |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| FinishInit() |
Completa a inicialização do CacheDependency objeto. (Herdado de CacheDependency) |
| GetFileDependencies() |
Obtém as dependências dos ficheiros. |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| GetUniqueID() |
Recupera um identificador único para o AggregateCacheDependency objeto. |
| ItemRemoved() |
Chamada quando uma entrada de cache monitorizada é removida. (Herdado de CacheDependency) |
| KeepDependenciesAlive() |
Atualiza o último tempo de acesso de cada item de cache que depende desse item. (Herdado de CacheDependency) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| NotifyDependencyChanged(Object, EventArgs) |
Notifica o objeto base CacheDependency que a dependência representada por uma classe derivada CacheDependency mudou. (Herdado de CacheDependency) |
| SetCacheDependencyChanged(Action<Object,EventArgs>) |
Adiciona um método Action para lidar com a notificação das partes interessadas sobre alterações a esta dependência. (Herdado de CacheDependency) |
| SetUtcLastModified(DateTime) |
Marca o momento em que uma dependência mudou pela última vez. (Herdado de CacheDependency) |
| TakeOwnership() |
Permite ao primeiro utilizador declarar a propriedade exclusiva desta dependência. (Herdado de CacheDependency) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |