Udostępnij za pośrednictwem


AggregateCacheDependency Klasa

Definicja

Łączy wiele zależności między elementem przechowywanym w obiekcie aplikacji Cache ASP.NET a tablicą CacheDependency obiektów. Klasa ta nie może być dziedziczona.

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
Dziedziczenie
AggregateCacheDependency

Przykłady

W poniższym przykładzie AggregateCacheDependency kodu użyto klasy , aby dodać klasę DataSeto nazwie XMLDataSetdo pamięci podręcznej, która jest zależna od pliku tekstowego i pliku 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

Uwagi

Klasa AggregateCacheDependency monitoruje kolekcję obiektów zależności, aby po zmianie dowolnego z nich element buforowany został automatycznie usunięty. Obiekty w tablicy mogą być CacheDependency obiektami, SqlCacheDependency obiektami, obiektami niestandardowymi pochodzącymi z CacheDependencyklasy lub dowolną kombinacją tych obiektów.

Klasa AggregateCacheDependency różni się od CacheDependency klasy, w której umożliwia skojarzenie wielu zależności różnych typów z jednym buforowanym elementem. Jeśli na przykład tworzysz stronę, która importuje dane z tabeli bazy danych SQL Server i pliku XML, możesz utworzyć SqlCacheDependency obiekt reprezentujący zależność od tabeli bazy danych i obiekt CacheDependency reprezentujący zależność od pliku XML. Zamiast wykonywać Cache.Insert wywołanie metody dla każdej zależności, możesz utworzyć wystąpienie AggregateCacheDependency klasy z każdą dodaną do niej zależnością. Następnie można użyć pojedynczego Insert wywołania, aby strona zależała AggregateCacheDependency od wystąpienia.

Konstruktory

AggregateCacheDependency()

Inicjuje nowe wystąpienie klasy AggregateCacheDependency.

Właściwości

HasChanged

Pobiera wartość wskazującą CacheDependency , czy obiekt uległ zmianie.

(Odziedziczone po CacheDependency)
UtcLastModified

Pobiera czas ostatniej zmiany zależności.

(Odziedziczone po CacheDependency)

Metody

Add(CacheDependency[])

Dodaje tablicę CacheDependency obiektów do AggregateCacheDependency obiektu.

DependencyDispose()

Zwalnia zasoby używane przez klasę CacheDependency i wszystkie klasy pochodzące z CacheDependencyklasy .

(Odziedziczone po CacheDependency)
Dispose()

Zwalnia zasoby używane przez CacheDependency obiekt.

(Odziedziczone po CacheDependency)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
FinishInit()

Kończy inicjowanie CacheDependency obiektu.

(Odziedziczone po CacheDependency)
GetFileDependencies()

Pobiera zależności plików.

GetFileDependencies()

Pobiera zależności plików.

(Odziedziczone po CacheDependency)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
GetUniqueID()

Pobiera unikatowy identyfikator AggregateCacheDependency obiektu.

ItemRemoved()

Wywoływana po usunięciu monitorowanej pamięci podręcznej.

(Odziedziczone po CacheDependency)
KeepDependenciesAlive()

Aktualizuje czas ostatniego dostępu każdego elementu pamięci podręcznej, który zależy od tego elementu.

(Odziedziczone po CacheDependency)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
NotifyDependencyChanged(Object, EventArgs)

Powiadamia obiekt podstawowy CacheDependency , że zależność reprezentowana przez klasę pochodną CacheDependency uległa zmianie.

(Odziedziczone po CacheDependency)
SetCacheDependencyChanged(Action<Object,EventArgs>)

Dodaje metodę Action do obsługi powiadamiania zainteresowanej strony o zmianach w tej zależności.

(Odziedziczone po CacheDependency)
SetUtcLastModified(DateTime)

Oznacza czas ostatniej zmiany zależności.

(Odziedziczone po CacheDependency)
TakeOwnership()

Umożliwia pierwszemu użytkownikowi zadeklarowanie wyłącznej własności tej zależności.

(Odziedziczone po CacheDependency)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy