次の方法で共有


CacheItem クラス

定義

キャッシュ内の個別のキャッシュ エントリを表します。

public ref class CacheItem
public class CacheItem
type CacheItem = class
Public Class CacheItem
継承
CacheItem

次の例では、 クラスを CacheItem 使用してファイルの内容をキャッシュ エントリとして格納する方法を示します。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Runtime.Caching;
using System.IO;

public partial class _Default : System.Web.UI.Page
{

    protected void Button1_Click(object sender, EventArgs e)
    {
        ObjectCache cache = MemoryCache.Default;

        CacheItem fileContents = cache.GetCacheItem("filecontents");

        if (fileContents == null)
        {
            CacheItemPolicy policy = new CacheItemPolicy();

            List<string> filePaths = new List<string>();
            string cachedFilePath = Server.MapPath("~") +
                "\\cacheText.txt";

            filePaths.Add(cachedFilePath);

            policy.ChangeMonitors.Add(new HostFileChangeMonitor(filePaths));

            // Fetch the file contents
            string fileData = File.ReadAllText(cachedFilePath);

            fileContents = new CacheItem("filecontents", fileData);

            cache.Set(fileContents, policy);
        }
        Label1.Text = (fileContents.Value as string);
    }
}
Imports System.Runtime.Caching
Imports System.IO

Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim cache As ObjectCache = MemoryCache.Default

        Dim fileContents As CacheItem = cache.GetCacheItem("filecontents")

        If fileContents Is Nothing Then
            Dim policy As New CacheItemPolicy()

            Dim filePaths As New List(Of String)()

            Dim CachedFilePaths As String = Server.MapPath("~") & "\cacheText.txt"

                filePaths.Add(CachedFilePaths)

            policy.ChangeMonitors.Add(New HostFileChangeMonitor(filePaths))

            ' Fetch the file contents 
            Dim fileData As String = File.ReadAllText(CachedFilePaths)

            fileContents = New CacheItem("filecontents", fileData)

            cache.Set(fileContents, policy)
        End If
        Label1.Text = TryCast(fileContents.Value, String)
    End Sub
End Class

注釈

クラスは CacheItem 、 プロパティを使用してリージョンを含めることができるキャッシュ エントリの論理表現を RegionName 提供します。 既定の ASP.NET キャッシュ実装では、キャッシュ エントリはキーと値のペアです。

キャッシュ内のエントリはインスタンスではありません CacheItem 。 代わりに、キャッシュ プロバイダーは、便利な任意の内部形式でキャッシュ エントリを格納できます。 ただし、キャッシュ API では、キャッシュ プロバイダーがキャッシュ エントリをインスタンスに CacheItem 変換できる必要があります (その逆も同様です)。

カスタム キャッシュ実装は、 クラスから継承して、キャッシュ エントリに CacheItem 関する追加情報を提供できます。

注意 (継承者)

ObjectCacheクラスにはキャッシュ データの追加、フェッチ、更新をサポートするメソッドがあり、これらすべてのメソッドには クラスをCacheItemサポートするオーバーロードがあります。 そのため、カスタム キャッシュ実装では拡張 CacheItem クラスを作成し、その拡張クラスを既存 ObjectCache の API と共にキャッシュ エントリに使用できます。

コンストラクター

CacheItem(String)

キャッシュ エントリの指定したキーを使用して、CacheItem の新しいインスタンスを初期化します。

CacheItem(String, Object)

キャッシュ エントリの指定したキーおよび値を使用して、CacheItem の新しいインスタンスを初期化します。

CacheItem(String, Object, String)

キャッシュ エントリの指定したキー、値、および領域を使用して、CacheItem の新しいインスタンスを初期化します。

プロパティ

Key

CacheItem インスタンスの一意の識別子を取得または設定します。

RegionName

CacheItem エントリを格納しているキャッシュ内の領域の名前を取得または設定します。

Value

CacheItem インスタンスのデータを取得または設定します。

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください