AggregateCacheDependency Sınıf

Tanım

bir ASP.NET uygulamasının Cache nesnesinde depolanan bir öğe ile bir nesne dizisi CacheDependency arasında birden çok bağımlılığı birleştirir. Bu sınıf devralınamaz.

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

Örnekler

Aşağıdaki kod örneği, bir metin dosyasına ve XML DataSetdosyasına bağımlı önbelleğe adlı XMLDataSetbir eklemek için sınıfını kullanırAggregateCacheDependency.

   ' 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

Açıklamalar

AggregateCacheDependency sınıfı bağımlılık nesnelerinin bir koleksiyonunu izler, böylece herhangi biri değiştiğinde önbelleğe alınan öğe otomatik olarak kaldırılır. Dizideki nesneler nesneler, nesneler, SqlCacheDependency içinden CacheDependencytüretilen özel nesneler veya bunların herhangi bir bileşimi olabilirCacheDependency.

sınıfı, AggregateCacheDependency farklı türlerdeki CacheDependency birden çok bağımlılığı tek bir önbelleğe alınmış öğeyle ilişkilendirmenize olanak sağladığından sınıfından farklıdır. Örneğin, SQL Server veritabanı tablosundan ve XML dosyasından verileri içeri aktaran bir sayfa oluşturursanız, veritabanı tablosundaki bir SqlCacheDependency bağımlılığı ve XML dosyasındaki bağımlılığı temsil eden bir CacheDependency nesnesi oluşturabilirsiniz. Her bağımlılık için bir Cache.Insert yöntem çağrısı yapmak yerine, her bağımlılığın eklendiği sınıfın AggregateCacheDependency bir örneğini oluşturabilirsiniz. Ardından sayfayı örneğe bağımlı AggregateCacheDependency hale getirmek için tek Insert bir çağrı kullanabilirsiniz.

Oluşturucular

AggregateCacheDependency()

AggregateCacheDependency sınıfının yeni bir örneğini başlatır.

Özellikler

HasChanged

Nesnenin CacheDependency değişip değişmediğini belirten bir değer alır.

(Devralındığı yer: CacheDependency)
UtcLastModified

Bağımlılığın en son değiştirildiği zamanı alır.

(Devralındığı yer: CacheDependency)

Yöntemler

Add(CacheDependency[])

Nesneye AggregateCacheDependency bir nesne dizisi CacheDependency ekler.

DependencyDispose()

sınıfı tarafından CacheDependency kullanılan kaynakları ve öğesinden CacheDependencytüretilen tüm sınıfları serbest bırakır.

(Devralındığı yer: CacheDependency)
Dispose()

nesnesi tarafından CacheDependency kullanılan kaynakları serbest bırakır.

(Devralındığı yer: CacheDependency)
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
FinishInit()

Nesnenin başlatılmasını CacheDependency tamamlar.

(Devralındığı yer: CacheDependency)
GetFileDependencies()

Dosya bağımlılıklarını alır.

GetFileDependencies()

Dosya bağımlılıklarını alır.

(Devralındığı yer: CacheDependency)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
GetUniqueID()

Nesne için AggregateCacheDependency benzersiz bir tanımlayıcı alır.

ItemRemoved()

İzlenen önbellek girdisi kaldırıldığında çağrılır.

(Devralındığı yer: CacheDependency)
KeepDependenciesAlive()

Bu öğeye bağlı olan her önbellek öğesinin son erişim zamanını güncelleştirir.

(Devralındığı yer: CacheDependency)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
NotifyDependencyChanged(Object, EventArgs)

Türetilmiş CacheDependency bir sınıf tarafından temsil edilen bağımlılığın değiştiğini temel CacheDependency nesneye bildirir.

(Devralındığı yer: CacheDependency)
SetCacheDependencyChanged(Action<Object,EventArgs>)

İlgili tarafa bu bağımlılıktaki değişiklikleri bildirmeyi işlemek için bir Eylem yöntemi ekler.

(Devralındığı yer: CacheDependency)
SetUtcLastModified(DateTime)

Bağımlılığın en son değiştiği zamanı işaretler.

(Devralındığı yer: CacheDependency)
TakeOwnership()

İlk kullanıcının bu bağımlılığın özel sahipliğini bildirmesine izin verir.

(Devralındığı yer: CacheDependency)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır