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ů. Tuto třídu nelze zdě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í tak, aby se při změně některé z nich automaticky odebrala položka uložená v mezipaměti. Objekty v poli mohou být CacheDependency objekty, SqlCacheDependency objekty, vlastní objekty odvozené z CacheDependencynebo jakékoli kombinace těchto objektů.
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 SqlCacheDependency objekt, který představuje závislost na databázové tabulce a která CacheDependency představuje závislost na souboru XML. Cache.Insert Místo volání 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í, které bude na stránce závislé na AggregateCacheDependency instanci.
Konstruktory
AggregateCacheDependency() |
Inicializuje novou instanci AggregateCacheDependency třídy. |
Vlastnosti
HasChanged |
Získá hodnotu označující, zda CacheDependency se objekt změnil. (Zděděno od CacheDependency) |
UtcLastModified |
Získá čas poslední změny závislosti. (Zděděno od CacheDependency) |
Metody
Add(CacheDependency[]) |
Přidá do objektu CacheDependency AggregateCacheDependency pole objektů. |
DependencyDispose() |
Uvolní prostředky používané CacheDependency třídou a všechny třídy, které jsou odvozeny od CacheDependency. (Zděděno od CacheDependency) |
Dispose() |
Uvolní prostředky používané objektem CacheDependency . (Zděděno od CacheDependency) |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
FinishInit() |
Dokončí inicializaci objektu CacheDependency . (Zděděno od CacheDependency) |
GetFileDependencies() |
Získá závislosti souborů. |
GetFileDependencies() |
Získá závislosti souborů. (Zděděno od CacheDependency) |
GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
GetType() |
Type Získá aktuální instanci. (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ří použádnou kopii aktuálního souboru 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) |