Sdílet prostřednictvím


AggregateCacheDependency Třída

Definice

Kombinuje více závislostí mezi položkou uloženou v objektu aplikace ASP.NET Cache a polem CacheDependency objektů. Tuto třídu nelze zdědit.

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
Dědičnost
AggregateCacheDependency

Příklady

Následující příklad kódu používá AggregateCacheDependency třídu k přidání pojmenované DataSetXMLDataSet, do mezipaměti, která je závislá na textovém souboru a XML souboru.

   ' 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

Poznámky

Třída AggregateCacheDependency monitoruje kolekci objektů závislostí tak, aby se při změně některé z nich automaticky odebrala položka uložená v mezipaměti. Objekty v poli mohou být CacheDependency objekty, SqlCacheDependency objekty, vlastní objekty odvozené z CacheDependencynebo jakékoli kombinace těchto objektů.

Třída AggregateCacheDependency se liší od CacheDependency třídy v tom, že umožňuje přidružit více závislostí různých typů k jedné položce v mezipaměti. Pokud například vytvoříte stránku, která importuje data z tabulky databáze SQL Server a souboru XML, můžete vytvořit SqlCacheDependency objekt, který představuje závislost na databázové tabulce a která CacheDependency představuje závislost na souboru XML. Cache.Insert Místo volání metody pro každou závislost můžete vytvořit instanci AggregateCacheDependency třídy s každou závislostí přidanou do ní. Pak můžete použít jedno Insert volání, které bude na stránce závislé na AggregateCacheDependency instanci.

Konstruktory

AggregateCacheDependency()

Inicializuje novou instanci AggregateCacheDependency třídy.

Vlastnosti

HasChanged

Získá hodnotu označující, zda CacheDependency se objekt změnil.

(Zděděno od CacheDependency)
UtcLastModified

Získá čas poslední změny závislosti.

(Zděděno od CacheDependency)

Metody

Add(CacheDependency[])

Přidá do objektu CacheDependency AggregateCacheDependency pole objektů.

DependencyDispose()

Uvolní prostředky používané CacheDependency třídou a všechny třídy, které jsou odvozeny od CacheDependency.

(Zděděno od CacheDependency)
Dispose()

Uvolní prostředky používané objektem CacheDependency .

(Zděděno od CacheDependency)
Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
FinishInit()

Dokončí inicializaci objektu CacheDependency .

(Zděděno od CacheDependency)
GetFileDependencies()

Získá závislosti souborů.

GetFileDependencies()

Získá závislosti souborů.

(Zděděno od CacheDependency)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
GetUniqueID()

Načte jedinečný identifikátor objektu AggregateCacheDependency .

ItemRemoved()

Volá se při odebrání monitorované položky mezipaměti.

(Zděděno od CacheDependency)
KeepDependenciesAlive()

Aktualizuje čas posledního přístupu každé položky mezipaměti, která závisí na této položce.

(Zděděno od CacheDependency)
MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
NotifyDependencyChanged(Object, EventArgs)

Upozorní základní CacheDependency objekt, že se změnila závislost reprezentovaná odvozenou CacheDependency třídou.

(Zděděno od CacheDependency)
SetCacheDependencyChanged(Action<Object,EventArgs>)

Přidá metodu akce pro zpracování upozornění zúčastněné strany na změny této závislosti.

(Zděděno od CacheDependency)
SetUtcLastModified(DateTime)

Označí čas poslední změny závislosti.

(Zděděno od CacheDependency)
TakeOwnership()

Umožňuje prvnímu uživateli deklarovat výhradní vlastnictví této závislosti.

(Zděděno od CacheDependency)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro