AggregateCacheDependency Klasse

Definition

Kombiniert mehrere Abhängigkeiten zwischen einem im Cache-Objekt einer ASP.NET-Anwendung gespeicherten Element und einem Array aus CacheDependency-Objekten. 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
AggregateCacheDependency

Beispiele

Im folgenden Codebeispiel wird die AggregateCacheDependency Klasse verwendet, um einen DataSetbenannten Cache XMLDataSethinzuzufügen, der von einer Textdatei und einer XML-Datei abhängig ist.

   ' 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, damit das zwischengespeicherte Element automatisch entfernt wird. Die Objekte im Array können Objekte, Objekte, benutzerdefinierte Objekte, SqlCacheDependency die von CacheDependencyihnen abgeleitet werden, oder eine beliebige Kombination dieser Objekte seinCacheDependency.

Die AggregateCacheDependency Klasse unterscheidet sich von der Klasse, in der CacheDependency Sie mehrere Abhängigkeiten verschiedener Typen mit 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 Objekt erstellen, das eine SqlCacheDependency Abhängigkeit von der Datenbanktabelle darstellt und CacheDependency eine, um die Abhängigkeit von der XML-Datei darzustellen. Anstatt einen Methodenaufruf für jede Abhängigkeit zu erstellen, können Sie eine Cache.Insert Instanz der AggregateCacheDependency Klasse erstellen, die jeder Abhängigkeit hinzugefügt wurde. Anschließend können Sie einen einzigen Insert Aufruf verwenden, um die Seite abhängig von der AggregateCacheDependency Instanz zu machen.

Konstruktoren

AggregateCacheDependency()

Initialisiert eine neue Instanz der AggregateCacheDependency-Klasse.

Eigenschaften

HasChanged

Ruft einen Wert ab, der angibt, ob sich das CacheDependency-Objekt geändert hat.

(Geerbt von CacheDependency)
UtcLastModified

Ruft die Zeit ab, zu der die Abhängigkeit zuletzt geändert wurde.

(Geerbt von CacheDependency)

Methoden

Add(CacheDependency[])

Fügt dem CacheDependency-Objekt ein Array von AggregateCacheDependency-Objekten hinzu.

DependencyDispose()

Gibt die Ressourcen frei, die von der CacheDependency-Klasse sowie allen Klassen verwendet werden, die von CacheDependency abgeleitet sind.

(Geerbt von CacheDependency)
Dispose()

Gibt die vom CacheDependency-Objekt verwendeten Ressourcen frei.

(Geerbt von CacheDependency)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
FinishInit()

Schließt die Initialisierung des CacheDependency-Objekts ab.

(Geerbt von CacheDependency)
GetFileDependencies()

Ruft die Dateiabhängigkeiten ab.

GetFileDependencies()

Ruft die Dateiabhängigkeiten ab.

(Geerbt von CacheDependency)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den 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 den Zeitpunkt des letzten Zugriffs von jedem Cacheelement, das von diesem Element abhängig ist.

(Geerbt von CacheDependency)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
NotifyDependencyChanged(Object, EventArgs)

Benachrichtigt das Basis-CacheDependency-Objekt darüber, dass die durch eine abgeleitete CacheDependency-Klasse dargestellte Abhängigkeit geändert wurde.

(Geerbt von CacheDependency)
SetCacheDependencyChanged(Action<Object,EventArgs>)

Fügt eine Aktionsmethode zum Behandeln von Benachrichtigungen der beteiligten Partei über Änderungen an dieser Abhängigkeit hinzu.

(Geerbt von CacheDependency)
SetUtcLastModified(DateTime)

Markiert die Zeit, zu der eine Abhängigkeit zuletzt geändert wurde.

(Geerbt von CacheDependency)
TakeOwnership()

Ermöglicht es 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)

Gilt für