Condividi tramite


AggregateCacheDependency Classe

Definizione

Combina più dipendenze tra un elemento archiviato nell'oggetto Cache di un'applicazione ASP.NET e una matrice di oggetti CacheDependency. La classe non può essere ereditata.

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
Ereditarietà
AggregateCacheDependency

Esempio

Nell'esempio di codice seguente viene usata la AggregateCacheDependency classe per aggiungere un DataSetoggetto , denominato XMLDataSet, alla cache dipendente da un file di testo e da un file XML.

   ' 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

Commenti

La AggregateCacheDependency classe monitora una raccolta di oggetti di dipendenza in modo che quando uno di essi cambia, l'elemento memorizzato nella cache viene rimosso automaticamente. Gli oggetti nella matrice possono essere CacheDependency oggetti, oggetti, SqlCacheDependency oggetti personalizzati derivati da CacheDependencyo qualsiasi combinazione di tali oggetti.

La AggregateCacheDependency classe differisce dalla CacheDependency classe in cui consente di associare più dipendenze di tipi diversi a un singolo elemento memorizzato nella cache. Ad esempio, se si crea una pagina che importa dati da una tabella di database SQL Server e un file XML, è possibile creare un SqlCacheDependency oggetto per rappresentare una dipendenza dalla tabella di database e un CacheDependency per rappresentare la dipendenza dal file XML. Anziché effettuare una chiamata al metodo per ogni dipendenza, è possibile creare un'istanza Cache.Insert della AggregateCacheDependency classe con ogni dipendenza aggiunta. È quindi possibile usare una singola Insert chiamata per rendere la pagina dipendente dall'istanza AggregateCacheDependency .

Costruttori

AggregateCacheDependency()

Inizializza una nuova istanza della classe AggregateCacheDependency.

Proprietà

HasChanged

Ottiene un valore che indica se l'oggetto CacheDependency è stato modificato.

(Ereditato da CacheDependency)
UtcLastModified

Ottiene l'ora dell'ultima modifica apportata alla dipendenza.

(Ereditato da CacheDependency)

Metodi

Add(CacheDependency[])

Aggiunge una matrice di oggetti CacheDependency all'oggetto AggregateCacheDependency.

DependencyDispose()

Rilascia le risorse utilizzate dalla classe CacheDependency e tutte le classi che derivano da CacheDependency.

(Ereditato da CacheDependency)
Dispose()

Rilascia le risorse usate dall'oggetto CacheDependency.

(Ereditato da CacheDependency)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
FinishInit()

Completa l'inizializzazione dell'oggetto CacheDependency.

(Ereditato da CacheDependency)
GetFileDependencies()

Ottiene le dipendenze del file.

GetFileDependencies()

Ottiene le dipendenze del file.

(Ereditato da CacheDependency)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
GetUniqueID()

Recupera un identificatore univoco per l'oggetto AggregateCacheDependency.

ItemRemoved()

Chiamato quando viene rimossa una voce della cache monitorata.

(Ereditato da CacheDependency)
KeepDependenciesAlive()

Aggiorna l'ora dell'ultimo accesso di ogni elemento della cache che dipende da questo elemento.

(Ereditato da CacheDependency)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
NotifyDependencyChanged(Object, EventArgs)

Notifica all'oggetto CacheDependency di base che sono state apportate modifiche alla dipendenza rappresentata da una classe CacheDependency derivata.

(Ereditato da CacheDependency)
SetCacheDependencyChanged(Action<Object,EventArgs>)

Aggiunge un metodo azione per gestire l'invio delle notifiche alle parti interessate delle modifiche apportate a questa dipendenza.

(Ereditato da CacheDependency)
SetUtcLastModified(DateTime)

Indica l'ora dell'ultima modifica apportata a una dipendenza.

(Ereditato da CacheDependency)
TakeOwnership()

Consente al primo utente di dichiarare la proprietà esclusiva di questa dipendenza.

(Ereditato da CacheDependency)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a