AggregateCacheDependency Classe

Définition

Combine plusieurs dépendances entre un élément stocké dans l’objet d’une application ASP.NET et un tableau d’objets CacheCacheDependency . 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 DataSet, nommé XMLDataSet, au cache dépendant d’un fichier texte et d’un fichier 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

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, des objets, SqlCacheDependency des objets personnalisés dérivés CacheDependencyou toute 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 seul élément mis en cache. 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 objet SqlCacheDependency 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 à celle-ci. Vous pouvez ensuite utiliser un seul Insert appel pour rendre la page dépendante de l’instance AggregateCacheDependency .

Constructeurs

Nom Description
AggregateCacheDependency()

Initialise une nouvelle instance de la classe AggregateCacheDependency.

Propriétés

Nom Description
HasChanged

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

(Hérité de CacheDependency)
UtcLastModified

Obtient l’heure à laquelle la dépendance a été modifiée pour la dernière fois.

(Hérité de CacheDependency)

Méthodes

Nom Description
Add(CacheDependency[])

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

DependencyDispose()

Libère les ressources utilisées par la CacheDependency classe et toutes les 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.

GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient la 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 supervisée est supprimée.

(Hérité de CacheDependency)
KeepDependenciesAlive()

Met à jour la dernière heure d’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 Objectactuel.

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

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

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

Ajoute une méthode Action pour gérer la notification des modifications apportées à cette dépendance par partie concernée.

(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 à