AggregateCacheDependency Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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) |