Partager via


AggregateCacheDependency Classe

Définition

Combine plusieurs dépendances entre un élément stocké dans un tableau d’objets CacheDependency et l’objet Cache d’une application ASP.NET. Cette classe ne peut pas être héritée.

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
Héritage
AggregateCacheDependency

Exemples

L’exemple de code suivant utilise la AggregateCacheDependency classe pour ajouter un DataSetfichier texte et un fichier XML, nommé XMLDataSet, dans le cache dépendant d’un fichier texte.

   ' 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

Remarques

La AggregateCacheDependency classe surveille une collection d’objets de dépendance afin que lorsque l’un d’eux change, l’élément mis en cache est automatiquement supprimé. Les objets du tableau peuvent être CacheDependency des objets, SqlCacheDependency des objets, des objets personnalisés dérivés ou CacheDependencytoute combinaison de ces objets.

La AggregateCacheDependency classe diffère de la CacheDependency classe dans laquelle elle vous permet d’associer plusieurs dépendances de différents types à un élément mis en cache unique. Par exemple, si vous créez une page qui importe des données à partir d’une table de base de données SQL Server et d’un fichier XML, vous pouvez créer un SqlCacheDependency objet pour représenter une dépendance sur la table de base de données et un CacheDependency pour représenter la dépendance sur le fichier XML. Au lieu d’effectuer un Cache.Insert appel de méthode pour chaque dépendance, vous pouvez créer une instance de la AggregateCacheDependency classe avec chaque dépendance ajoutée. Vous pouvez ensuite utiliser un seul Insert appel pour rendre la page dépendante de l’instance AggregateCacheDependency .

Constructeurs

AggregateCacheDependency()

Initialise une nouvelle instance de la classe AggregateCacheDependency.

Propriétés

HasChanged

Obtient une valeur indiquant si l'objet CacheDependency a changé.

(Hérité de CacheDependency)
UtcLastModified

Obtient l'heure de la dernière modification de la dépendance.

(Hérité de CacheDependency)

Méthodes

Add(CacheDependency[])

Ajoute un tableau d'objets CacheDependency à l'objet AggregateCacheDependency.

DependencyDispose()

Libère les ressources utilisées par la classe CacheDependency et toutes classes qui dérivent de CacheDependency.

(Hérité de CacheDependency)
Dispose()

Libère les ressources utilisées par l’objet CacheDependency.

(Hérité de CacheDependency)
Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
FinishInit()

Termine l'initialisation de l'objet CacheDependency.

(Hérité de CacheDependency)
GetFileDependencies()

Obtient les dépendances de fichier.

GetFileDependencies()

Obtient les dépendances de fichier.

(Hérité de CacheDependency)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
GetUniqueID()

Récupère un identificateur unique pour l’objet AggregateCacheDependency.

ItemRemoved()

Appelé lorsqu’une entrée de cache surveillée est supprimée.

(Hérité de CacheDependency)
KeepDependenciesAlive()

Met à jour l’heure du dernier accès de chaque élément de cache qui dépend de cet élément.

(Hérité de CacheDependency)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
NotifyDependencyChanged(Object, EventArgs)

Avertit l'objet CacheDependency de base que la dépendance représentée par une classe CacheDependency dérivée a changé.

(Hérité de CacheDependency)
SetCacheDependencyChanged(Action<Object,EventArgs>)

Ajoute une méthode d’action pour notifier les parties intéressées par les modifications apportées à cette dépendance.

(Hérité de CacheDependency)
SetUtcLastModified(DateTime)

Marque l'heure de la dernière modification d'une dépendance.

(Hérité de CacheDependency)
TakeOwnership()

Permet au premier utilisateur de déclarer la propriété exclusive de cette dépendance.

(Hérité de CacheDependency)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à