程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> HttpContext.Cache和HttpRuntime.Cache

HttpContext.Cache和HttpRuntime.Cache

編輯:.NET實例教程

ASP.Net中可以方便的使用緩存,對於Cache,一般有兩種方式調用:HttpContext.Cache和HttpRuntime.Cache。那麼這兩種Cache有什麼區別呢?

先來看看Msdn上的注釋:
HttpRuntime.Cache:獲取當前應用程序的 Cache。
HttpContext.Cache:為當前 HTTP 請求獲取 Cache 對象。

那麼是不是說對於HttpRuntime.Cache就是應用程序級,而HttpContext.Cache則是針對每個用戶的呢?NO,而實際上,兩者調用的是同一個對象。他們的區別僅僅在於調用方式不一樣(就我所知)。

事實勝過雄辯,寫個例子來證實一下(限於篇幅僅貼出關鍵代碼,完整代碼見附件WebDemo.rar):

        /**//// <summary>
        /// 通過HttpRuntime.Cache的方式來保存Cache
        /// </summary>
        private void btnHttpRuntimeCacheSave_Click(object sender, System.EventArgs e)
        {
            HttpRuntime.Cache.Insert(cacheKey, cacheValue, null, DateTime.Now.AddMinutes(3), TimeSpan.Zero);
        }

        /**//// <summary>
        /// 通過HttpRuntime.Cache的方式來讀取Cache
        /// </summary>
        private void btnHttpRuntimeCacheLoad_Click(object sender, System.EventArgs e)
        {
            if (HttpRuntime.Cache[cacheKey] == null)
            {
                cacheContent = "No Cache";
            }
            else
            {
                cacheContent = (string)HttpRuntime.Cache[cacheKey];
            }
            lblCacheContent.Text = cacheContent;
        }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved