AggregateCacheDependency AggregateCacheDependency AggregateCacheDependency AggregateCacheDependency Class

Definition

Kombiniert mehrere Abhängigkeiten zwischen einem im Cache-Objekt einer ASP.NET-Anwendung gespeicherten Element und einem Array aus CacheDependency-Objekten.Combines multiple dependencies between an item stored in an ASP.NET application's Cache object and an array of CacheDependency objects. Diese Klasse kann nicht vererbt werden.This class cannot be inherited.

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
AggregateCacheDependencyAggregateCacheDependencyAggregateCacheDependencyAggregateCacheDependency

Beispiele

Im folgenden Codebeispiel wird die AggregateCacheDependency -Klasse verwendet, DataSetum dem Cache, der von einer Textdatei und einer XML-Datei abhängig ist, eine mit dem Namen XMLDataSethinzuzufügen.The following code example uses the AggregateCacheDependency class to add a DataSet, named XMLDataSet, to the cache that is dependent on a text file and an XML file.

' 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ängigkeits Objekten, sodass das zwischengespeicherte Element automatisch entfernt wird, wenn eine dieser Änderungen geändert wird.The AggregateCacheDependency class monitors a collection of dependency objects so that when any of them change, the cached item is automatically removed. Die Objekte im Array können Objekte, CacheDependency SqlCacheDependency Objekte, von CacheDependencyabgeleitete benutzerdefinierte Objekte oder eine beliebige Kombination dieser Objekte sein.The objects in the array can be CacheDependency objects, SqlCacheDependency objects, custom objects derived from CacheDependency, or any combination of these.

Die AggregateCacheDependency -Klasse unterscheidet CacheDependency sich von der-Klasse insofern, als Sie es Ihnen ermöglicht, mehrere Abhängigkeiten verschiedener Typen einem einzelnen zwischengespeicherten Element zuzuordnen.The AggregateCacheDependency class differs from the CacheDependency class in that it allows you to associate multiple dependencies of different types with a single cached item. Wenn Sie z. b. eine Seite erstellen, die Daten aus einer SQL Server Datenbanktabelle und einer XML-Datei importiert, SqlCacheDependency können Sie ein-Objekt erstellen, das eine Abhängigkeit von CacheDependency der Datenbanktabelle darstellt, und ein-Objekt, das die Abhängigkeit von der XML-Datei darstellt.For example, if you create a page that imports data from a SQL Server database table and an XML file, you can create a SqlCacheDependency object to represent a dependency on the database table and a CacheDependency to represent the dependency on the XML file. Anstatt für jede Abhängigkeit Cache.Insert einen Methoden aufzurufen, können Sie eine Instanz AggregateCacheDependency der-Klasse erstellen, wobei jede Abhängigkeit hinzugefügt wird.Rather than making an Cache.Insert method call for each dependency, you can create an instance of the AggregateCacheDependency class with each dependency added to it. Sie können dann einen einzelnen Insert -Befehl verwenden, um die Seite von der AggregateCacheDependency -Instanz abhängig zu machen.You can then use a single Insert call to make the page dependent on the AggregateCacheDependency instance.

Konstruktoren

AggregateCacheDependency() AggregateCacheDependency() AggregateCacheDependency() AggregateCacheDependency()

Initialisiert eine neue Instanz der AggregateCacheDependency-Klasse.Initializes a new instance of the AggregateCacheDependency class.

Methoden

Add(CacheDependency[]) Add(CacheDependency[]) Add(CacheDependency[]) Add(CacheDependency[])

Fügt dem CacheDependency-Objekt ein Array von AggregateCacheDependency-Objekten hinzu.Adds an array of CacheDependency objects to the AggregateCacheDependency object.

DependencyDispose() DependencyDispose() DependencyDispose() DependencyDispose()

Gibt die Ressourcen frei, die von der CacheDependency-Klasse sowie allen Klassen verwendet werden, die von CacheDependency abgeleitet sind.Releases the resources used by the CacheDependency class and any classes that derive from CacheDependency.

(Inherited from CacheDependency)
Dispose() Dispose() Dispose() Dispose()

Gibt die vom CacheDependency-Objekt verwendeten Ressourcen frei.Releases the resources used by the CacheDependency object.

(Inherited from CacheDependency)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
FinishInit() FinishInit() FinishInit() FinishInit()

Schließt die Initialisierung des CacheDependency-Objekts ab.Completes initialization of the CacheDependency object.

(Inherited from CacheDependency)
GetFileDependencies() GetFileDependencies() GetFileDependencies() GetFileDependencies()

Ruft die Dateiabhängigkeiten ab.Gets the file dependencies.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
GetUniqueID() GetUniqueID() GetUniqueID() GetUniqueID()

Ruft einen eindeutigen Bezeichner für das AggregateCacheDependency-Objekt ab.Retrieves a unique identifier for the AggregateCacheDependency object.

ItemRemoved() ItemRemoved() ItemRemoved() ItemRemoved()

Wird aufgerufen, wenn ein überwachter Cacheeintrag entfernt wird.Called when a monitored cache entry is removed.

(Inherited from CacheDependency)
KeepDependenciesAlive() KeepDependenciesAlive() KeepDependenciesAlive() KeepDependenciesAlive()

Aktualisiert den Zeitpunkt des letzten Zugriffs von jedem Cacheelement, das von diesem Element abhängig ist.Updates the last access time of every cache item that depends on this item.

(Inherited from CacheDependency)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
NotifyDependencyChanged(Object, EventArgs) NotifyDependencyChanged(Object, EventArgs) NotifyDependencyChanged(Object, EventArgs) NotifyDependencyChanged(Object, EventArgs)

Benachrichtigt das Basis-CacheDependency-Objekt darüber, dass die durch eine abgeleitete CacheDependency-Klasse dargestellte Abhängigkeit geändert wurde.Notifies the base CacheDependency object that the dependency represented by a derived CacheDependency class has changed.

(Inherited from CacheDependency)
SetCacheDependencyChanged(Action<Object,EventArgs>) SetCacheDependencyChanged(Action<Object,EventArgs>) SetCacheDependencyChanged(Action<Object,EventArgs>) SetCacheDependencyChanged(Action<Object,EventArgs>)

Fügt eine Aktionsmethode zum Behandeln von Benachrichtigungen der beteiligten Partei über Änderungen an dieser Abhängigkeit hinzu.Adds an Action method to handle notifying interested party in changes to this dependency.

(Inherited from CacheDependency)
SetUtcLastModified(DateTime) SetUtcLastModified(DateTime) SetUtcLastModified(DateTime) SetUtcLastModified(DateTime)

Markiert die Zeit, zu der eine Abhängigkeit zuletzt geändert wurde.Marks the time when a dependency last changed.

(Inherited from CacheDependency)
TakeOwnership() TakeOwnership() TakeOwnership() TakeOwnership()

Ermöglicht es dem ersten Benutzer, den exklusiven Besitz dieser Abhängigkeit zu deklarieren.Allows the first user to declare exclusive ownership of this dependency.

(Inherited from CacheDependency)
ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Eigenschaften

HasChanged HasChanged HasChanged HasChanged

Ruft einen Wert ab, der angibt, ob sich das CacheDependency-Objekt geändert hat.Gets a value indicating whether the CacheDependency object has changed.

(Inherited from CacheDependency)
UtcLastModified UtcLastModified UtcLastModified UtcLastModified

Ruft die Zeit ab, zu der die Abhängigkeit zuletzt geändert wurde.Gets the time when the dependency was last changed.

(Inherited from CacheDependency)

Gilt für: