AggregateCacheDependency Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Kombiniert mehrere Abhängigkeiten zwischen einem Element, das in dem Objekt einer ASP.NET Anwendung Cache und einem Array von CacheDependency Objekten gespeichert ist. Diese Klasse kann nicht vererbt werden.
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
- Vererbung
Beispiele
Im folgenden Codebeispiel wird die AggregateCacheDependency Klasse verwendet, um dem Cache, der von einer Textdatei und einer XML-Datei abhängig ist, ein DataSet, benanntes XMLDataSetElement, hinzuzufügen.
' 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
Hinweise
Die AggregateCacheDependency Klasse überwacht eine Auflistung von Abhängigkeitsobjekten, sodass das zwischengespeicherte Element automatisch entfernt wird, wenn sich eines dieser Objekte ändert. Die Objekte im Array können Objekte, CacheDependency Objekte, benutzerdefinierte Objekte, abgeleitet von SqlCacheDependencyoder eine beliebige Kombination dieser Objekte seinCacheDependency.
Die AggregateCacheDependency Klasse unterscheidet sich von der CacheDependency Klasse darin, dass Sie mehrere Abhängigkeiten unterschiedlicher Typen einem einzelnen zwischengespeicherten Element zuordnen können. Wenn Sie beispielsweise eine Seite erstellen, die Daten aus einer SQL Server Datenbanktabelle und einer XML-Datei importiert, können Sie ein SqlCacheDependency-Objekt erstellen, um eine Abhängigkeit von der Datenbanktabelle und eine CacheDependency zur Darstellung der Abhängigkeit von der XML-Datei darzustellen. Anstatt für jede Abhängigkeit einen Cache.Insert Methodenaufruf zu erstellen, können Sie eine Instanz der AggregateCacheDependency Klasse erstellen, wobei jeder Abhängigkeit hinzugefügt wird. Sie können dann einen einzelnen Insert Aufruf verwenden, um die Seite abhängig von der AggregateCacheDependency Instanz zu machen.
Konstruktoren
| Name | Beschreibung |
|---|---|
| AggregateCacheDependency() |
Initialisiert eine neue Instanz der AggregateCacheDependency-Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| HasChanged |
Ruft einen Wert ab, der angibt, ob das CacheDependency Objekt geändert wurde. (Geerbt von CacheDependency) |
| UtcLastModified |
Ruft die Zeit ab, zu der die Abhängigkeit zuletzt geändert wurde. (Geerbt von CacheDependency) |
Methoden
| Name | Beschreibung |
|---|---|
| Add(CacheDependency[]) |
Fügt dem CacheDependency Objekt ein Array von AggregateCacheDependency Objekten hinzu. |
| DependencyDispose() |
Gibt die von der CacheDependency Klasse verwendeten Ressourcen und alle Von der Klasse abgeleiteten CacheDependencyKlassen frei. (Geerbt von CacheDependency) |
| Dispose() |
Gibt die vom CacheDependency Objekt verwendeten Ressourcen frei. (Geerbt von CacheDependency) |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| FinishInit() |
Schließt die Initialisierung des CacheDependency Objekts ab. (Geerbt von CacheDependency) |
| GetFileDependencies() |
Ruft die Dateiabhängigkeiten ab. |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| GetUniqueID() |
Ruft einen eindeutigen Bezeichner für das AggregateCacheDependency Objekt ab. |
| ItemRemoved() |
Wird aufgerufen, wenn ein überwachter Cacheeintrag entfernt wird. (Geerbt von CacheDependency) |
| KeepDependenciesAlive() |
Aktualisiert die Uhrzeit des letzten Zugriffs jedes Cacheelements, das von diesem Element abhängt. (Geerbt von CacheDependency) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| NotifyDependencyChanged(Object, EventArgs) |
Benachrichtigt das Basisobjekt CacheDependency , dass die durch eine abgeleitete CacheDependency Klasse dargestellte Abhängigkeit geändert wurde. (Geerbt von CacheDependency) |
| SetCacheDependencyChanged(Action<Object,EventArgs>) |
Fügt eine Action-Methode zum Behandeln der Benachrichtigung von interessierten Parteien an Änderungen an dieser Abhängigkeit hinzu. (Geerbt von CacheDependency) |
| SetUtcLastModified(DateTime) |
Markiert den Zeitpunkt, zu dem eine Abhängigkeit zuletzt geändert wurde. (Geerbt von CacheDependency) |
| TakeOwnership() |
Ermöglicht dem ersten Benutzer, den exklusiven Besitz dieser Abhängigkeit zu deklarieren. (Geerbt von CacheDependency) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |