本系列第九篇,感謝讀者支持與建議。本系列著重入門指引,後續將補充類別設計與總結篇。
提供方便、可擴展的快取機制,支援記憶體快取與後端儲存(資料存取區塊或 Isolated Storage)。無需修改即可使用,內建可配置過期與清除策略。

關鍵參數:
ExpirationPollFrequencyInSeconds:過期輪詢頻率(建議用效能計數器調優)MaximumElementsInCacheBeforeScavenging:最大項目數NumberToRemoveWhenScavenging:每次清除數量
copy "$(ProjectDir)\*.config" "$(TargetDir)"
using Microsoft.Practices.EnterpriseLibrary.Caching;
using Microsoft.Practices.EnterpriseLibrary.Caching.Expirations;
using Microsoft.Practices.EnterpriseLibrary.Data;
Database db = DatabaseFactory.CreateDatabase("Database Instance");
IDataReader dr = db.ExecuteReader(CommandType.Text, "Select * from Products");
this.myDr = dr;
CacheManager myCacheManager = CacheFactory.GetCacheManager();
myCacheManager.Add("MyDataReader", this.myDr); // 預設優先級 Normal、無過期
IDataReader toBeDisplay = (IDataReader)myCacheManager.GetData("MyDataReader");
if (toBeDisplay != null)
{
while (toBeDisplay.Read())
this.listBox.Items.Add(toBeDisplay.GetValue(2));
}
注意:型別必須正確,且必須檢查 null。
myCacheManager.Remove("FileKey");
入門篇涵蓋基本增刪查。進階篇將介紹時間/通知過期、快取加密、移除通知、載入策略、清除機制等進階主題。