Cache 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
웹 애플리케이션에 대한 캐시를 구현합니다. 이 클래스는 상속할 수 없습니다.
public ref class Cache sealed : System::Collections::IEnumerable
public sealed class Cache : System.Collections.IEnumerable
type Cache = class
interface IEnumerable
Public NotInheritable Class Cache
Implements IEnumerable
- 상속
-
Cache
- 구현
예제
다음 예제는 캐시의 항목에 할당된 값을 사용자에게 보여 주고 캐시에서 항목이 제거될 때 사용자에게 알리는 페이지입니다. 대리자의 RemovedCallback 서명이 있는 메서드를 만들어 CacheItemRemovedCallback 캐시 항목이 제거될 때 사용자에게 알리고 열거형을 사용하여 CacheItemRemovedReason 제거된 이유를 알려줍니다. 또한 이 속성을 사용하여 Cache.Item[] 캐시에 개체를 추가하고 해당 개체의 값을 검색합니다. 메서드에서 AddItemToCache 메서드를 Cache.Add 사용하여 캐시에 항목을 추가합니다.
CacheItemRemovedCallback 대리자를 사용하려면 항목이 제거될 때 ASP.NET 자동으로 적절한 메서드를 호출할 수 있도록 이 메서드 또는 Cache.Insert 메서드를 사용하여 캐시에 항목을 추가해야 합니다. 사용자 지정 RemoveItemFromCache 메서드는 메서드를 Cache.Remove 사용하여 캐시에서 항목을 명시적으로 삭제하여 메서드를 RemovedCallback 호출합니다.
메모
아래 코드 조각에서 액세스하는 Cache 인스턴스는 이 샘플이 상속하는 개체의 Page 멤버입니다.
<html>
<Script runat=server language="C#">
// <snippet2>
static bool itemRemoved = false;
static CacheItemRemovedReason reason;
CacheItemRemovedCallback onRemove = null;
public void RemovedCallback(String k, Object v, CacheItemRemovedReason r){
itemRemoved = true;
reason = r;
}
// </snippet2>
// <snippet3>
public void AddItemToCache(Object sender, EventArgs e) {
itemRemoved = false;
onRemove = new CacheItemRemovedCallback(this.RemovedCallback);
if (Cache["Key1"] == null)
Cache.Add("Key1", "Value 1", null, DateTime.Now.AddSeconds(60), Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove);
}
// </snippet3>
// <snippet4>
public void RemoveItemFromCache(Object sender, EventArgs e) {
if(Cache["Key1"] != null)
Cache.Remove("Key1");
}
// </snippet4>
</Script>
<body>
<Form runat="server">
<input type=submit OnServerClick="AddItemToCache" value="Add Item To Cache" runat="server"/>
<input type=submit OnServerClick="RemoveItemFromCache" value="Remove Item From Cache" runat="server"/>
</Form>
<% if (itemRemoved) {
Response.Write("RemovedCallback event raised.");
Response.Write("<BR>");
Response.Write("Reason: <B>" + reason.ToString() + "</B>");
}
else {
// <snippet5>
Response.Write("Value of cache key: <B>" + Server.HtmlEncode(Cache["Key1"] as string) + "</B>");
// </snippet5>
}
%>
</body>
</html>
<%@ Page Language="VB" %>
<html>
<Script runat=server>
' <snippet2>
Shared itemRemoved As boolean = false
Shared reason As CacheItemRemovedReason
Dim onRemove As CacheItemRemovedCallback
Public Sub RemovedCallback(k As String, v As Object, r As CacheItemRemovedReason)
itemRemoved = true
reason = r
End Sub
' </snippet2>
' <snippet3>
Public Sub AddItemToCache(sender As Object, e As EventArgs)
itemRemoved = false
onRemove = New CacheItemRemovedCallback(AddressOf Me.RemovedCallback)
If (IsNothing(Cache("Key1"))) Then
Cache.Add("Key1", "Value 1", Nothing, DateTime.Now.AddSeconds(60), Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove)
End If
End Sub
' </snippet3>
' <snippet4>
Public Sub RemoveItemFromCache(sender As Object, e As EventArgs)
If (Not IsNothing(Cache("Key1"))) Then
Cache.Remove("Key1")
End If
End Sub
' </snippet4>
</Script>
<body>
<Form runat="server">
<input type=submit OnServerClick="AddItemToCache" value="Add Item To Cache" runat="server"/>
<input type=submit OnServerClick="RemoveItemFromCache" value="Remove Item From Cache" runat="server"/>
</Form>
<%
If (itemRemoved) Then
Response.Write("RemovedCallback event raised.")
Response.Write("<BR>")
Response.Write("Reason: <B>" + reason.ToString() + "</B>")
Else
' <snippet5>
Response.Write("Value of cache key: <B>" + Server.HtmlEncode(CType(Cache("Key1"),String)) + "</B>")
' </snippet5>
End If
%>
</body>
</html>
설명
이 클래스의 인스턴스는 애플리케이션 도메인별로 만들어지고 애플리케이션 도메인이 활성 상태로 유지되는 한 유효한 상태로 유지됩니다. 이 클래스의 인스턴스에 대한 정보는 개체의 속성 또는 Cache 개체의 HttpContext 속성을 Cache 통해 Page 사용할 수 있습니다.
메모
Cache 클래스는 ASP.NET 애플리케이션 외부에서 사용할 수 없습니다. 웹 애플리케이션에 대한 캐싱을 제공하기 위해 ASP.NET 사용하도록 설계 및 테스트되었습니다. 콘솔 애플리케이션 또는 Windows Forms 애플리케이션과 같은 다른 유형의 애플리케이션의 경우 ObjectCache 클래스를 사용합니다.
생성자
| Name | Description |
|---|---|
| Cache() |
Cache 클래스의 새 인스턴스를 초기화합니다. |
필드
| Name | Description |
|---|---|
| NoAbsoluteExpiration |
메서드 호출의 |
| NoSlidingExpiration |
슬라이딩 만료를 |
속성
| Name | Description |
|---|---|
| Count |
캐시에 저장된 항목 수를 가져옵니다. |
| EffectivePercentagePhysicalMemoryLimit |
ASP.NET 캐시에서 항목 제거를 시작하기 전에 애플리케이션에서 사용할 수 있는 실제 메모리의 백분율을 가져옵니다. |
| EffectivePrivateBytesLimit |
캐시에 사용할 수 있는 바이트 수를 가져옵니다. |
| Item[String] |
지정된 키의 캐시 항목을 가져오거나 설정합니다. |
메서드
| Name | Description |
|---|---|
| Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) |
종속성, 만료 및 우선 순위 정책을 사용하여 개체에 지정된 항목을 Cache 추가하고 삽입된 항목이 제거될 때 애플리케이션에 알리는 데 사용할 수 있는 |
| Equals(Object) |
지정된 개체가 현재 개체와 같은지 여부를 확인합니다. (다음에서 상속됨 Object) |
| Get(String) |
개체에서 지정된 항목을 검색합니다 Cache . |
| GetEnumerator() |
키 설정과 캐시에 포함된 값을 반복하는 데 사용되는 사전 열거자를 검색합니다. |
| GetHashCode() |
기본 해시 함수로 사용됩니다. (다음에서 상속됨 Object) |
| GetType() |
현재 인스턴스의 Type 가져옵니다. (다음에서 상속됨 Object) |
| Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) |
종속성, 만료 및 우선 순위 정책을 사용하여 개체에 Cache 개체를 삽입하고 삽입된 항목이 제거될 때 애플리케이션에 알리는 데 사용할 수 있는 |
| Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemUpdateCallback) |
개체에 Cache 종속성, 만료 정책 및 캐시에서 항목이 제거되기 전에 애플리케이션에 알리는 데 사용할 수 있는 대리자와 함께 개체를 삽입합니다. |
| Insert(String, Object, CacheDependency, DateTime, TimeSpan) |
종속성 및 만료 정책을 사용하여 개체 Cache 를 삽입합니다. |
| Insert(String, Object, CacheDependency) |
파일 또는 키 종속성이 있는 개체를 Cache 삽입합니다. |
| Insert(String, Object) |
열거형에서 Cache 제공하는 기본값을 사용하여 캐시 키를 사용하여 개체에 CacheItemPriority 항목을 삽입하여 해당 위치를 참조합니다. |
| MemberwiseClone() |
현재 Object단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
| Remove(String) |
애플리케이션 Cache 의 개체에서 지정된 항목을 제거합니다. |
| ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
명시적 인터페이스 구현
| Name | Description |
|---|---|
| IEnumerable.GetEnumerator() |
개체 컬렉션을 반복할 Cache 수 있는 열거자를 반환합니다. |
확장명 메서드
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
쿼리의 병렬 처리를 사용하도록 설정합니다. |
| AsQueryable(IEnumerable) |
IEnumerable IQueryable변환합니다. |
| Cast<TResult>(IEnumerable) |
IEnumerable 요소를 지정된 형식으로 캐스팅합니다. |
| OfType<TResult>(IEnumerable) |
지정된 형식에 따라 IEnumerable 요소를 필터링합니다. |
적용 대상
스레드 보안
이 형식은 스레드로부터 안전합니다.