Compartir a través de


AggregateCacheDependency Clase

Definición

Combina varias dependencias entre un elemento almacenado en un objeto Cache de la aplicación ASP.NET y una matriz de objetos CacheDependency. Esta clase no puede heredarse.

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

Ejemplos

En el ejemplo de código siguiente se usa la AggregateCacheDependency clase para agregar un DataSet, denominado XMLDataSet, a la memoria caché que depende de un archivo de texto y un archivo 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

Comentarios

La AggregateCacheDependency clase supervisa una colección de objetos de dependencia para que cuando cambie cualquiera de ellos, el elemento almacenado en caché se quita automáticamente. Los objetos de la matriz pueden ser CacheDependency objetos, SqlCacheDependency objetos, objetos personalizados derivados de CacheDependencyo cualquier combinación de estos objetos.

La AggregateCacheDependency clase difiere de la CacheDependency clase en que permite asociar varias dependencias de diferentes tipos con un solo elemento almacenado en caché. Por ejemplo, si crea una página que importa datos de una tabla de base de datos SQL Server y un archivo XML, puede crear un SqlCacheDependency objeto para representar una dependencia en la tabla de base de datos y un CacheDependency objeto para representar la dependencia en el archivo XML. En lugar de realizar una Cache.Insert llamada de método para cada dependencia, puede crear una instancia de la AggregateCacheDependency clase con cada dependencia agregada. A continuación, puede usar una sola Insert llamada para hacer que la página dependa de la AggregateCacheDependency instancia.

Constructores

AggregateCacheDependency()

Inicializa una nueva instancia de la clase AggregateCacheDependency.

Propiedades

HasChanged

Obtiene un valor que indica si el objeto CacheDependency ha cambiado.

(Heredado de CacheDependency)
UtcLastModified

Obtiene la hora a la que se cambió la dependencia por última vez.

(Heredado de CacheDependency)

Métodos

Add(CacheDependency[])

Agrega una matriz de objetos CacheDependency al objeto AggregateCacheDependency.

DependencyDispose()

Libera los recursos utilizados por la clase CacheDependency y cualquier clase que derive de CacheDependency.

(Heredado de CacheDependency)
Dispose()

Libera los recursos que usa el objeto CacheDependency.

(Heredado de CacheDependency)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
FinishInit()

Finaliza la inicialización del objeto CacheDependency.

(Heredado de CacheDependency)
GetFileDependencies()

Obtiene las dependencias de archivo.

GetFileDependencies()

Obtiene las dependencias de archivo.

(Heredado de CacheDependency)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
GetUniqueID()

Recupera un identificador único para el objeto AggregateCacheDependency.

ItemRemoved()

Se llama cuando se quita una entrada de caché supervisada.

(Heredado de CacheDependency)
KeepDependenciesAlive()

Actualiza la hora de último acceso de cada elemento en caché que dependa de este elemento.

(Heredado de CacheDependency)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
NotifyDependencyChanged(Object, EventArgs)

Notifica al objeto CacheDependency base que la dependencia representada por una clase CacheDependency derivada ha cambiado.

(Heredado de CacheDependency)
SetCacheDependencyChanged(Action<Object,EventArgs>)

Agrega un método de acción para controlar la notificación a la parte interesada de los cambios realizados en esta dependencia.

(Heredado de CacheDependency)
SetUtcLastModified(DateTime)

Marca la hora a la que se cambió una dependencia por última vez.

(Heredado de CacheDependency)
TakeOwnership()

Permite que el primer usuario declare la propiedad exclusiva de esta dependencia.

(Heredado de CacheDependency)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a