ASP.NETアプリケーションキャッシュ
2230 ワード
ASP.NETアプリケーションキャッシュの研究;まず、Webフォームを新規作成すると、デフォルトではCacheオブジェクトをそのまま使用してキャッシュの管理を行うことができるが、非常に奇妙なことにVisual Studioでは、このCache上にマウスを置くとSystemから現れる.Web.Caching.Cacheのヒントですが、実際にはこのネーミングスペースにタイプを加えてキャッシュを管理することはできません.そうしないと、エラーが発生します.このネーミングスペースにCacheを付けると、Expirationという名前のメンバーが2人しか現れません.2つの異なるネーミングスペースからのCacheオブジェクト管理キャッシュは、現在のWebアプリケーションのキャッシュに直接作用する可能性があります.次のコードがあります.
作成したWebフォームはデフォルトでSystemから継承されるためです.Web.UI.Pageなので、Pageクラスが提供する公開メンバーCacheを直接使用することができます.System.Web.HttpRuntime.Cacheは静的クラスであり、直接使用することもできる.システムだけだWeb.Caching.Cacheはインスタンス化して使用する必要があります.最終的な出力結果は次のとおりです.
System.Web.HttpRuntime.Cache success.System.Web.HttpRuntime.Cache success.System.Web.HttpRuntime.Cache success.System.Web.HttpRuntime.Cache success.System.Web.Caching.Cache success.System.Web.Caching.Cache success.System.Web.Caching.Cache success.System.Web.Caching.Cache success.
関連環境:.NET Framework 4.0
System.Web.HttpRuntime.Cache.Insert("cache_test", "System.Web.HttpRuntime.Cache success.
", null, DateTime.Now.AddSeconds(5), System.Web.Caching.Cache.NoSlidingExpiration);
System.Web.Caching.Cache cache = new System.Web.Caching.Cache();
Response.Write(System.Web.HttpRuntime.Cache.Get("cache_test").ToString());
Response.Write(Page.Cache.Get("cache_test").ToString());
Response.Write(this.Cache.Get("cache_test").ToString());
Response.Write(cache.Get("cache_test").ToString());
cache.Insert("cache_test", "System.Web.Caching.Cache success.
", null, DateTime.Now.AddSeconds(5), System.Web.Caching.Cache.NoSlidingExpiration);
Response.Write(System.Web.HttpRuntime.Cache.Get("cache_test").ToString());
Response.Write(Page.Cache.Get("cache_test").ToString());
Response.Write(this.Cache.Get("cache_test").ToString());
Response.Write(cache.Get("cache_test").ToString());
// 、 “Cache.Insert(...)”
//System.Web.Caching.Cache.Insert("cache_test", "System.Web.Caching.Cache success.", null, DateTime.Now.AddSeconds(5), System.Web.Caching.Cache.NoSlidingExpiration);
// 、 “Cache.Get(...)”
//Response.Write(System.Web.Caching.Cache.Get("cache_test").ToString());
作成したWebフォームはデフォルトでSystemから継承されるためです.Web.UI.Pageなので、Pageクラスが提供する公開メンバーCacheを直接使用することができます.System.Web.HttpRuntime.Cacheは静的クラスであり、直接使用することもできる.システムだけだWeb.Caching.Cacheはインスタンス化して使用する必要があります.最終的な出力結果は次のとおりです.
System.Web.HttpRuntime.Cache success.System.Web.HttpRuntime.Cache success.System.Web.HttpRuntime.Cache success.System.Web.HttpRuntime.Cache success.System.Web.Caching.Cache success.System.Web.Caching.Cache success.System.Web.Caching.Cache success.System.Web.Caching.Cache success.
関連環境:.NET Framework 4.0