程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET企業開發框架IsLine FrameWork系列之十一

ASP.NET企業開發框架IsLine FrameWork系列之十一

編輯:關於ASP.NET

HttpContentProvider訪問緩存

今天我們來介紹 IsLine.HttpContent.HttpContentProvider命名空間:

這個Provider主要封裝了對緩存、Session與Cooike的操作,該空間下主要有三個類:CookieProvider 、SessionProvider、CacheProvider。

關於約束

這三個類庫統一實現ICapability接口,ICapability繼承自IBaseCapability接口,IBaseCapability 規范了HttpContentProvider的基礎能力,而ICapability則是對基礎能力的擴展,如下:

代碼

namespace IsLine.HttpContent.HttpContentProvider
{
   public interface IBaseCapability
   {
     bool Remove(string Name);
     bool IsExit(string Name);
   }
   public interface ICapability : IBaseCapability
   {
     object GetContent(string Name);
     bool UpdateContent(string Name, object value);
   }
}

可以看出,接口主要約束了如何刪除、獲得與更新一個對象,即約束了Session、Cookie、Cache的行 為。

CacheProvider類

首先來看看有關Cache的操作,CacheProvider支持.Net兩種類型的Cache:運行時 Cache (HttpRuntime.Cache)與上下文Cache(HttpContext.Current.Cache),這兩種Cache有什麼區別呢?這裡 簡單的解釋一下:

HttpRuntime.Cache是Application級別的,而HttpContext.Current.Cache是僅對當前WEB頁面請求才 有效的。換句話說,HttpRuntime Cache所有的web與非web程序都可以調用,而HttpContext則只能用在 WEB中。

緩存中的數據是易失的,數據並不是在整個應用程序生命周期中都存儲在內存中,由 ASP.NET 管理緩 存,它會在項過期、無效、或內存不足時移除緩存中的項。還可以配置應用程序緩存,以便在移除項時通 知應用程序。所以,你並不知道緩存在什麼時候會失效,即使你已經配置了依賴項。

關於緩存的過期有2種類型:

過期類型 說明 滑動窗口 指定某項自上次被訪問後多長時間過期。 絕對過期 指定某項在設定的時間過期,而不考慮訪問頻率。

可以將緩存中某一項的生存期配置為依賴於其他應用程序元素,如某個文件或數據庫。當緩存項依賴 的元素更改時,ASP.NET 將從緩存中移除該項。

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