AggregateCacheDependency 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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 사용하여 텍스트 파일 및 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) |