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. 作成されます、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委任するには、このメソッドを使用してキャッシュに項目を追加する必要がありますまたはCache.InsertASP.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オブジェクトまたは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. デザインし、の 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.

Extension Methods

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.

こちらもご覧ください