Cache 클래스

정의

웹 애플리케이션에 대한 캐시를 구현합니다.Implements the cache for a Web application. 이 클래스는 상속될 수 없습니다.This class cannot be inherited.

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
구현

예제

다음 예제에서는 사용자 캐시에서 항목에 할당 된 값을 보여 주는 페이지가 고 항목은 캐시에서 제거 되 면 알립니다.The following example is a page that shows users the value assigned to an item in the cache, and then notifies them when the item is removed from the cache. 만듭니다는 RemovedCallback 시그니처가 있는 메서드를의 CacheItemRemovedCallback 캐시 항목이 제거 되 고 사용 하는 경우 사용자에 게 알려야 대리자는 CacheItemRemovedReason 제거 된 이유를 알려주는 열거형입니다.It creates a RemovedCallback method, which has the signature of the CacheItemRemovedCallback delegate, to notify users when the cache item is removed, and it uses the CacheItemRemovedReason enumeration to tell them why it was removed. 또한에서는 Cache.Item[String] 속성 캐시에 개체를 추가 하 고 해당 개체의 값을 검색 합니다.In addition, it uses the Cache.Item[String] property to add objects to the cache and retrieve the value of those objects. AddItemToCache 메서드를 사용 하 여는 Cache.Add 캐시에 항목을 추가 하는 방법입니다.In the AddItemToCache method, it uses the Cache.Add method to add an item to the cache. CacheItemRemovedCallback 대리자를 사용 하려면 항목이 제거 될 때 ASP.NET에서 적절 한 메서드를 자동으로 호출할 수 Cache.Insert 있도록이 메서드나 메서드를 사용 하 여 캐시에 항목을 추가 해야 합니다.To use the CacheItemRemovedCallback delegate, you must add an item to the cache with this method or the Cache.Insert method, so that ASP.NET can automatically make the proper method calls when the item is removed. 사용자 지정 RemoveItemFromCache 메서드를 Cache.Remove 메서드를 명시적으로 캐시에서 항목을 삭제 발생는 RemovedCallback 메서드를 호출할 수 있습니다.The custom RemoveItemFromCache method uses the Cache.Remove method to explicitly delete the item from the cache, causing the RemovedCallback method to be invoked.

참고

아래 코드 조각에서 액세스 되는 캐시 인스턴스의의 구성원임을 Page 이 샘플에서 상속 되는 개체입니다.The instance of Cache that is accessed by the snippet below is a member of the Page object that this sample inherits.

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

설명

애플리케이션 도메인 별로이 클래스의 인스턴스가 하나씩 만들어지고 해당 상태로 유효한 애플리케이션 도메인을 활성 상태로 유지 됩니다.One instance of this class is created per application domain, and it remains valid as long as the application domain remains active. 이 클래스의 인스턴스에 대 한 정보를 통해 사용할 수는 Cache 의 속성을 HttpContext 개체 또는 Cache 의 속성은 Page 개체.Information about an instance of this class is available through the Cache property of the HttpContext object or the Cache property of the Page object.

참고

Cache ASP.NET 애플리케이션 외부에서 사용 하기 위해 클래스는 없습니다.The Cache class is not intended for use outside of ASP.NET applications. 디자인 되 고 웹 애플리케이션에 대 한 캐싱을 제공 하는 ASP.NET에서 사용 하기 위해 테스트 합니다.It was designed and tested for use in ASP.NET to provide caching for Web applications. 콘솔 응용 프로그램 또는 Windows Forms 응용 프로그램과 같은 응용 프로그램의 다른 형식에 대 한 사용을 ObjectCache 클래스입니다.For other types of applications, such as console applications or Windows Forms applications, use the ObjectCache class.

생성자

Cache()

Cache 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Cache class.

필드

NoAbsoluteExpiration

Insert(String, Object) 메서드를 호출할 때 absoluteExpiration 매개 변수에서 사용되어 만료되지 않아야 하는 항목을 나타냅니다.Used in the absoluteExpiration parameter in an Insert(String, Object) method call to indicate the item should never expire. 이 필드는 읽기 전용입니다.This field is read-only.

NoSlidingExpiration

Insert(String, Object) 또는 Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) 메서드를 호출할 때 slidingExpiration 매개 변수로 사용되어 상대(sliding) 만료를 비활성화시킵니다.Used as the slidingExpiration parameter in an Insert(String, Object) or Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) method call to disable sliding expirations. 이 필드는 읽기 전용입니다.This field is read-only.

속성

Count

캐시에 저장된 항목의 수를 가져옵니다.Gets the number of items stored in the cache.

EffectivePercentagePhysicalMemoryLimit

ASP.NET이 캐시에서 항목을 제거하기 시작하기 전에 애플리케이션이 소비할 수 있는 실제 메모리의 백분율을 가져옵니다.Gets the percentage of physical memory that can be consumed by an application before ASP.NET starts removing items from the cache.

EffectivePrivateBytesLimit

캐시에 사용할 수 있는 바이트 수를 가져옵니다.Gets the number of bytes available for the cache.

Item[String]

지정된 키에 있는 캐시 항목을 가져오거나 설정합니다.Gets or sets the cache item at the specified key.

메서드

Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback)

종속성, 만료 및 우선 순위 정책과, 삽입된 항목이 Cache에서 제거되는 경우 애플리케이션에 알리는 데 사용할 수 있는 대리자를 통해, 지정된 항목을 Cache 개체에 추가합니다.Adds the specified item to the Cache object with dependencies, expiration and priority policies, and a delegate you can use to notify your application when the inserted item is removed from the Cache.

Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
Get(String)

지정된 항목을 Cache 개체에서 검색합니다.Retrieves the specified item from the Cache object.

GetEnumerator()

캐시에 포함된 키 설정과 해당 값을 반복하는 데 사용되는 사전 열거자를 검색합니다.Retrieves a dictionary enumerator used to iterate through the key settings and their values contained in the cache.

GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

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

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
Insert(String, Object)

해당 위치를 참조하는 캐시 키와 Cache 열거형이 제공하는 기본값을 사용하여 CacheItemPriority 개체에 항목을 삽입합니다.Inserts an item into the Cache object with a cache key to reference its location, using default values provided by the CacheItemPriority enumeration.

Insert(String, Object, CacheDependency)

파일 또는 키 종속성이 포함된 개체를 Cache에 삽입합니다.Inserts an object into the Cache that has file or key dependencies.

Insert(String, Object, CacheDependency, DateTime, TimeSpan)

종속성 및 만료 정책이 포함된 개체를 Cache에 삽입합니다.Inserts an object into the Cache with dependencies and expiration policies.

Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback)

종속성, 만료 및 우선 순위 정책과, 삽입된 항목이 Cache에서 제거되는 경우에 애플리케이션에 알리는 데 사용할 수 있는 대리자를 통해 Cache 개체에 개체를 삽입합니다.Inserts an object into the Cache object with dependencies, expiration and priority policies, and a delegate you can use to notify your application when the inserted item is removed from the Cache.

Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemUpdateCallback)

종속성, 만료 정책, 항목이 캐시에서 제거되기 전에 애플리케이션에 알리는 데 사용할 수 있는 대리자와 함께 Cache 개체에 개체를 삽입합니다.Inserts an object into the Cache object together with dependencies, expiration policies, and a delegate that you can use to notify the application before the item is removed from the cache.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
Remove(String)

지정된 항목을 애플리케이션의 Cache 개체에서 제거합니다.Removes the specified item from the application's Cache object.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

IEnumerable.GetEnumerator()

Cache 개체 컬렉션 전체에서 반복할 수 있는 열거자를 반환합니다.Returns an enumerator that can iterate through the Cache object collection.

확장 메서드

Cast<TResult>(IEnumerable)

IEnumerable의 요소를 지정된 형식으로 캐스팅합니다.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

지정된 형식에 따라 IEnumerable의 요소를 필터링합니다.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

쿼리를 병렬화할 수 있도록 합니다.Enables parallelization of a query.

AsQueryable(IEnumerable)

IEnumerableIQueryable로 변환합니다.Converts an IEnumerable to an IQueryable.

적용 대상

스레드 보안

이 형식은 스레드로부터 안전합니다.This type is thread safe.

추가 정보