AggregateCacheDependency Klas

Definitie

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
AggregateCacheDependency

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)

Van toepassing op