Cache Cache Cache Cache Class

定義

Web アプリケーションのキャッシュを実装します。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
継承
CacheCacheCacheCache
実装

次の例は、キャッシュ内の項目に割り当てられた値をユーザーに表示し、項目がキャッシュから削除されたときにその値を通知するページです。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. このメソッドはRemovedCallbackCacheItemRemovedCallbackデリゲートのシグネチャを持つメソッドを作成し、キャッシュ項目が削除されたときにユーザーに通知し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. メソッドでは、 Cache.Addメソッドを使用して項目をキャッシュに追加します。 AddItemToCacheIn the AddItemToCache method, it uses the Cache.Add method to add an item to the cache. CacheItemRemovedCallbackデリゲートを使用するにCache.Insertは、このメソッドまたはメソッドを使用してキャッシュに項目を追加する必要があります。これにより、項目が削除されたときに ASP.NET が自動的に適切なメソッドを呼び出すことができるようになります。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>

注釈

このクラスの1つのインスタンスはアプリケーションドメインごとに作成され、アプリケーションドメインがアクティブなままであれば有効なままです。One instance of this class is created per application domain, and it remains valid as long as the application domain remains active. このクラスのインスタンスに関する情報は、オブジェクトのCacheプロパティHttpContext PageまたCacheはオブジェクトのプロパティを使用して取得できます。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. これは、Web アプリケーションのキャッシュを提供するために ASP.NET で使用するために設計およびテストされています。It was designed and tested for use in ASP.NET to provide caching for Web applications. コンソールアプリケーションや Windows フォームアプリケーションなど、その他の種類のアプリケーションでは、 ObjectCacheクラスを使用します。For other types of applications, such as console applications or Windows Forms applications, use the ObjectCache class.

コンストラクター

Cache() Cache() Cache() Cache()

Cache クラスの新しいインスタンスを初期化します。Initializes a new instance of the Cache class.

フィールド

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

Insert(String, Object) または Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) メソッド呼び出し内で slidingExpiration パラメーターとして使用され、スライド式有効期限を無効にします。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 Count Count Count

キャッシュに格納されている項目の数を取得します。Gets the number of items stored in the cache.

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

キャッシュに使用できるバイト数を取得します。Gets the number of bytes available for the cache.

Item[String] Item[String] Item[String] Item[String]

指定したキーのキャッシュ項目を取得または設定します。Gets or sets the cache item at the specified key.

メソッド

Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) 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) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
Get(String) Get(String) Get(String) Get(String)

Cache オブジェクトから指定した項目を取得します。Retrieves the specified item from the Cache object.

GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

キャッシュに含まれているキーの設定と値を介して反復処理するために使用されているディクショナリ列挙子を取得します。Retrieves a dictionary enumerator used to iterate through the key settings and their values contained in the cache.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
Insert(String, Object) Insert(String, Object) Insert(String, Object) Insert(String, Object)

項目の位置を参照するキャッシュ キーを指定し、CacheItemPriority 列挙体が提供する既定値を使用して、Cache オブジェクトに項目を挿入します。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) Insert(String, Object, CacheDependency) Insert(String, Object, CacheDependency) Insert(String, Object, CacheDependency)

ファイル依存関係またはキー依存関係を持つオブジェクトを Cache に挿入します。Inserts an object into the Cache that has file or key dependencies.

Insert(String, Object, CacheDependency, DateTime, TimeSpan) Insert(String, Object, CacheDependency, DateTime, TimeSpan) Insert(String, Object, CacheDependency, DateTime, TimeSpan) 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) Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) 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) Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemUpdateCallback) Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemUpdateCallback) 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() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
Remove(String) Remove(String) Remove(String) Remove(String)

アプリケーションの Cache オブジェクトから、指定した項目を削除します。Removes the specified item from the application's Cache object.

ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

明示的なインターフェイスの実装

IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator()

Cache オブジェクト コレクションを反復処理できる列挙子を返します。Returns an enumerator that can iterate through the Cache object collection.

拡張メソッド

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

IEnumerable の要素を、指定した型にキャストします。Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

指定された型に基づいて IEnumerable の要素をフィルター処理します。Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

クエリの並列化を有効にします。Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

IEnumerableIQueryable に変換します。Converts an IEnumerable to an IQueryable.

適用対象

スレッド セーフ

この型はスレッド セーフです。This type is thread safe.

こちらもご覧ください