Share via


AggregateCacheDependency 클래스

정의

ASP.NET 애플리케이션의 Cache 개체에 저장된 항목과 CacheDependency 개체 배열 간의 여러 종속성을 결합합니다. 이 클래스는 상속될 수 없습니다.

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
상속
AggregateCacheDependency

예제

다음 코드 예제에서는 클래스를 AggregateCacheDependency 사용하여 텍스트 파일 및 XML 파일에 종속된 캐시에 명명된 이름을 XMLDataSet추가DataSet합니다.

   ' 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

설명

클래스는 AggregateCacheDependency 종속성 개체의 컬렉션을 모니터링하여 해당 개체가 변경되면 캐시된 항목이 자동으로 제거되도록 합니다. 배열의 개체는 개체, 개체, SqlCacheDependency 파생된 CacheDependency사용자 지정 개체 또는 이러한 개체의 조합일 수 있습니다CacheDependency.

클래스는 AggregateCacheDependency 여러 형식의 CacheDependency 여러 종속성을 캐시된 단일 항목과 연결할 수 있다는 점에서 클래스와 다릅니다. 예를 들어 SQL Server 데이터베이스 테이블 및 XML 파일에서 데이터를 가져오는 페이지를 만드는 경우 데이터베이스 테이블에 대한 종속성을 나타내고 XML 파일에 대한 종속성을 나타내는 개체를 CacheDependency 만들 SqlCacheDependency 수 있습니다. 각 종속성에 대한 메서드 호출을 만드는 Cache.Insert 대신 각 종속성이 추가된 AggregateCacheDependency 클래스의 인스턴스를 만들 수 있습니다. 그런 다음 단일 Insert 호출을 사용하여 페이지가 인스턴스에 AggregateCacheDependency 종속되도록 할 수 있습니다.

생성자

AggregateCacheDependency()

AggregateCacheDependency 클래스의 새 인스턴스를 초기화합니다.

속성

HasChanged

CacheDependency 개체가 변경되었는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 CacheDependency)
UtcLastModified

종속성을 마지막으로 변경한 시간을 가져옵니다.

(다음에서 상속됨 CacheDependency)

메서드

Add(CacheDependency[])

CacheDependency 개체에 AggregateCacheDependency 개체 배열을 추가합니다.

DependencyDispose()

CacheDependency 클래스 및 CacheDependency에서 파생되는 클래스에서 사용되는 리소스를 해제합니다.

(다음에서 상속됨 CacheDependency)
Dispose()

CacheDependency 개체가 사용하는 리소스를 해제합니다.

(다음에서 상속됨 CacheDependency)
Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
FinishInit()

CacheDependency 개체의 초기화를 완료합니다.

(다음에서 상속됨 CacheDependency)
GetFileDependencies()

파일 종속성을 가져옵니다.

GetFileDependencies()

파일 종속성을 가져옵니다.

(다음에서 상속됨 CacheDependency)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
GetUniqueID()

AggregateCacheDependency 개체의 고유 식별자를 검색합니다.

ItemRemoved()

모니터링되는 캐시 엔트리가 제거될 때 호출됩니다.

(다음에서 상속됨 CacheDependency)
KeepDependenciesAlive()

이 항목에 종속되는 모든 캐시 항목의 마지막 액세스 시간을 업데이트합니다.

(다음에서 상속됨 CacheDependency)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
NotifyDependencyChanged(Object, EventArgs)

파생 CacheDependency 클래스에 나타나는 종속성이 변경되었음을 기본 CacheDependency 개체에 알립니다.

(다음에서 상속됨 CacheDependency)
SetCacheDependencyChanged(Action<Object,EventArgs>)

이 종속성의 변경 내용을 관련 당사자에게 알리는 작업을 처리하기 위한 동작 메서드를 추가합니다.

(다음에서 상속됨 CacheDependency)
SetUtcLastModified(DateTime)

종속성을 마지막으로 변경한 시간을 표시합니다.

(다음에서 상속됨 CacheDependency)
TakeOwnership()

첫 번째 사용자가 이 종속성의 단독 소유권을 선언하도록 허용합니다.

(다음에서 상속됨 CacheDependency)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

적용 대상