Asp.Netアプリケーションデータキャッシュ
7266 ワード
System.Web.Cachingネーミングスペースは、サーバ上でよく使用されるデータをキャッシュするクラスを提供します.このネーミングスペースにはCacheクラスが含まれています.このクラスは辞書で、ハッシュ・テーブルやデータセットなどの任意のデータ・オブジェクトを格納できます.また、これらのオブジェクトに無効な機能を提供し、これらのオブジェクトを追加および削除する方法も提供します.また、他のファイルまたはキャッシュ・アイテムに依存するオブジェクトを追加し、Cacheオブジェクトからオブジェクトを削除したときにコールバックを実行してアプリケーションに通知することもできます.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Default4 : System.Web.UI.Page
{
/// <summary>
/// CacheKey Cache
/// </summary>
/// <param name="CacheKey"> </param>
/// <returns> </returns>
public static object GetCache(string CacheKey)
{
System.Web.Caching.Cache objCache = HttpRuntime.Cache;
return objCache[CacheKey];
}
/// <summary>
/// CacheKey Cache
/// </summary>
/// <param name="CacheKey"> </param>
/// <param name="objObject"> </param>
public static void SetCache(string CacheKey, object objObject)
{
System.Web.Caching.Cache objCache = HttpRuntime.Cache;
objCache.Insert(CacheKey, objObject);
}
/// <summary>
/// CacheKey Cache
/// </summary>
/// <param name="CacheKey"> </param>
/// <param name="objObject"> </param>
/// <param name="absoluteExpiration"> </param>
/// <param name="slidingExpiration"> </param>
public static void SetCache(string CacheKey, object objObject, DateTime absoluteExpiration, TimeSpan slidingExpiration)
{
System.Web.Caching.Cache objCache = HttpRuntime.Cache;
objCache.Insert(CacheKey, objObject, null, absoluteExpiration, slidingExpiration);
}
protected void Page_Load(object sender, EventArgs e)
{
string CacheKey = "cachetest";
object objModel = GetCache(CacheKey);
//
if (objModel == null)//
{
objModel = DateTime.Now;
//
if (objModel != null)
{
int CacheTime = 30;
// 30
SetCache(CacheKey, objModel, DateTime.Now.AddSeconds(CacheTime), TimeSpan.Zero);
//
}
}
Label1.Text = objModel.ToString();
}
}