AggregateCacheDependency Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Combineert meerdere afhankelijkheden tussen een item dat is opgeslagen in het Cache-object van een ASP.NET toepassing en een matrix van CacheDependency-objecten. Deze klasse kan niet worden overgenomen.
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
- Overname
Voorbeelden
In het volgende codevoorbeeld wordt de AggregateCacheDependency klasse gebruikt om een DataSet, benoemde XMLDataSet, cache toe te voegen die afhankelijk is van een tekstbestand en een XML-bestand.
' 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
Opmerkingen
De AggregateCacheDependency klasse bewaakt een verzameling afhankelijkheidsobjecten, zodat het item in de cache automatisch wordt verwijderd wanneer een van deze objecten wordt gewijzigd. De objecten in de matrix kunnen CacheDependency objecten, SqlCacheDependency objecten, aangepaste objecten zijn die zijn afgeleid van CacheDependencyof een combinatie hiervan.
De AggregateCacheDependency klasse verschilt van de klasse omdat u hiermee meerdere afhankelijkheden van verschillende typen kunt koppelen aan één item in de CacheDependency cache. Als u bijvoorbeeld een pagina maakt waarmee gegevens worden geïmporteerd uit een SQL Server databasetabel en een XML-bestand, kunt u een SqlCacheDependency-object maken om een afhankelijkheid van de databasetabel en een CacheDependency te vertegenwoordigen die de afhankelijkheid van het XML-bestand vertegenwoordigen. In plaats van een Cache.Insert methodeaanroep te maken voor elke afhankelijkheid, kunt u een exemplaar van de AggregateCacheDependency klasse maken met elke afhankelijkheid die eraan is toegevoegd. U kunt vervolgens één Insert aanroep gebruiken om de pagina afhankelijk te maken van het AggregateCacheDependency exemplaar.
Constructors
| Name | Description |
|---|---|
| AggregateCacheDependency() |
Initialiseert een nieuw exemplaar van de AggregateCacheDependency klasse. |
Eigenschappen
| Name | Description |
|---|---|
| HasChanged |
Hiermee wordt een waarde opgehaald die aangeeft of het CacheDependency object is gewijzigd. (Overgenomen van CacheDependency) |
| UtcLastModified |
Hiermee wordt de tijd opgehaald waarop de afhankelijkheid voor het laatst is gewijzigd. (Overgenomen van CacheDependency) |
Methoden
| Name | Description |
|---|---|
| Add(CacheDependency[]) |
Hiermee voegt u een matrix met CacheDependency objecten toe aan het AggregateCacheDependency object. |
| DependencyDispose() |
Publiceert de resources die worden gebruikt door de CacheDependency klasse en eventuele klassen die zijn afgeleid van CacheDependency. (Overgenomen van CacheDependency) |
| Dispose() |
Releases van de resources die door het CacheDependency object worden gebruikt. (Overgenomen van CacheDependency) |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| FinishInit() |
Initialisatie van het CacheDependency object wordt voltooid. (Overgenomen van CacheDependency) |
| GetFileDependencies() |
Hiermee haalt u de bestandsafhankelijkheden op. |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| GetUniqueID() |
Hiermee haalt u een unieke id voor het AggregateCacheDependency object op. |
| ItemRemoved() |
Aangeroepen wanneer een bewaakte cachevermelding wordt verwijderd. (Overgenomen van CacheDependency) |
| KeepDependenciesAlive() |
Hiermee wordt de laatste toegangstijd bijgewerkt van elk cache-item dat afhankelijk is van dit item. (Overgenomen van CacheDependency) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| NotifyDependencyChanged(Object, EventArgs) |
Hiermee wordt het basisobject CacheDependency aangegeven dat de afhankelijkheid die wordt vertegenwoordigd door een afgeleide CacheDependency klasse is gewijzigd. (Overgenomen van CacheDependency) |
| SetCacheDependencyChanged(Action<Object,EventArgs>) |
Hiermee voegt u een actiemethode toe voor het afhandelen van de melding dat de geïnteresseerde partij wijzigingen aan deze afhankelijkheid heeft aangebracht. (Overgenomen van CacheDependency) |
| SetUtcLastModified(DateTime) |
Markeert de tijd waarop een afhankelijkheid voor het laatst is gewijzigd. (Overgenomen van CacheDependency) |
| TakeOwnership() |
Hiermee kan de eerste gebruiker exclusief eigendom van deze afhankelijkheid declareren. (Overgenomen van CacheDependency) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |