ASP.NET - アプリケーションデータのキャッシュのサンプル
ASP.NETでアプリケーションデータのキャッシュについて少し試してみました。
例として、App_Dataフォルダ内にあるSample.txtの内容をキャッシュするコードを書いてみました。たいしたサンプルでありませんが、せっかくなので残しておきます。
public class HomeController : Controller { public ActionResult Index() { var cache = HttpContext.Cache; var key = "key"; if(cache[key] == null) { var path = Server.MapPath("~/App_Data/Sample.txt"); var text = System.IO.File.ReadAllText(path); cache.Insert(key, text, new CacheDependency(path)); } return Content((string)cache[key]); } }
データをキャッシュするにはCacheクラスを使用します。使い方は特に説明なくてもいけそうですね。
Cache クラス (System.Web.Caching)
また、CacheDependencyクラスを使って、キャッシュとファイルの依存関係を設定しています。このCacheDependencyクラスを利用することで、配置したSample.txtを何かのタイミングで更新した際に、キャッシュが自動的に削除されるようになります。コンストラクタで指定したファイルの変更が監視されるんですね。