AggregateCacheDependency Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Kombinuje více závislostí mezi položkou uloženou v objektu aplikace ASP.NET Cache a polem CacheDependency objektů. Tato třída se nemůže dědit.
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
- Dědičnost
Příklady
Následující příklad kódu používá AggregateCacheDependency třídu k přidání pojmenované DataSetXMLDataSet, do mezipaměti, která je závislá na textovém souboru a XML souboru.
' 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
Poznámky
Třída AggregateCacheDependency monitoruje kolekci objektů závislostí, aby se při jakékoli změně položky v mezipaměti automaticky odebrala. Objekty v poli mohou být CacheDependency objekty, SqlCacheDependency objekty, vlastní objekty odvozené z CacheDependency, nebo jakékoli jejich kombinace.
Třída AggregateCacheDependency se liší od CacheDependency třídy v tom, že umožňuje přidružit více závislostí různých typů k jedné položce v mezipaměti. Pokud například vytvoříte stránku, která importuje data z tabulky databáze SQL Server a souboru XML, můžete vytvořit objekt SqlCacheDependency, který bude představovat závislost na databázové tabulce a CacheDependency představující závislost na souboru XML. Místo volání Cache.Insert metody pro každou závislost můžete vytvořit instanci AggregateCacheDependency třídy s každou závislostí přidanou do ní. Pak můžete použít jedno Insert volání, aby stránka byla závislá na AggregateCacheDependency instanci.
Konstruktory
| Name | Description |
|---|---|
| AggregateCacheDependency() |
Inicializuje novou instanci AggregateCacheDependency třídy. |
Vlastnosti
| Name | Description |
|---|---|
| HasChanged |
Získá hodnotu určující, zda CacheDependency objekt byl změněn. (Zděděno od CacheDependency) |
| UtcLastModified |
Získá čas poslední změny závislosti. (Zděděno od CacheDependency) |
Metody
| Name | Description |
|---|---|
| Add(CacheDependency[]) |
Přidá do objektu CacheDependency pole AggregateCacheDependency objektů. |
| DependencyDispose() |
Uvolní prostředky používané CacheDependency třídou a všechny třídy, které jsou odvozeny z CacheDependency. (Zděděno od CacheDependency) |
| Dispose() |
Uvolní prostředky používané objektem CacheDependency . (Zděděno od CacheDependency) |
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| FinishInit() |
Dokončí inicializaci objektu CacheDependency . (Zděděno od CacheDependency) |
| GetFileDependencies() |
Získá závislosti souboru. |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| GetUniqueID() |
Načte jedinečný identifikátor objektu AggregateCacheDependency . |
| ItemRemoved() |
Volá se při odebrání monitorované položky mezipaměti. (Zděděno od CacheDependency) |
| KeepDependenciesAlive() |
Aktualizuje čas posledního přístupu každé položky mezipaměti, která závisí na této položce. (Zděděno od CacheDependency) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| NotifyDependencyChanged(Object, EventArgs) |
Upozorní základní CacheDependency objekt, že se změnila závislost reprezentovaná odvozenou CacheDependency třídou. (Zděděno od CacheDependency) |
| SetCacheDependencyChanged(Action<Object,EventArgs>) |
Přidá metodu akce pro zpracování upozornění zúčastněné strany na změny této závislosti. (Zděděno od CacheDependency) |
| SetUtcLastModified(DateTime) |
Označí čas poslední změny závislosti. (Zděděno od CacheDependency) |
| TakeOwnership() |
Umožňuje prvnímu uživateli deklarovat výhradní vlastnictví této závislosti. (Zděděno od CacheDependency) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |