此实例主要演示了一个员工对象被持久化到本地的过程。 持久化对象的代码: using System; using System.Drawing; using System.IO; using Microsoft.Practices.EnterpriseLibrary.Caching; using Microsoft.Practices.EnterpriseLibrary.Caching.Expirations; namespace EmployeeBrowser { public class EmployeeService { private const string CACHE_KEY = "EmployeesDataSet"; private EmployeeService() { } public static EmployeesDataSet GetContactDetails() { EmployeesDataSet dsEmployees = null; ICacheManager cache = CacheFactory.GetCacheManager(); dsEmployees = (EmployeesDataSet)cache[CACHE_KEY]; //本地不存在且在线 if (dsEmployees == null && ConnectionManager.IsOnline) { EmployeeDataProvider dataProvider = new EmployeeDataProvider(); dsEmployees = dataProvider.GetEmployees(); //将员工对象持久化到本地2天 AbsoluteTime expiry = new AbsoluteTime(new TimeSpan(2, 0, 0, 0)); cache.Add( CACHE_KEY, dsEmployees, CacheItemPriority.High, null, new ICacheItemExpiration[] { expiry }); } return dsEmployees; } public static Bitmap GetEmployeePhoto(Guid employeeId) { byte[] photoData = null; ICacheManager cache = CacheFactory.GetCacheManager(); photoData = (byte[])cache[employeeId.ToString()]; if (photoData == null && ConnectionManager.IsOnline) { EmployeeDataProvider dataProvider = new EmployeeDataProvider(); photoData = dataProvider.GetEmployeePhotoData(employeeId); cache.Add(employeeId.ToString(), photoData); } if (photoData == null) return null; using (MemoryStream ms = new MemoryStream(photoData)) { return new Bitmap(ms); } } public static void ClearCache() { ICacheManager cache = CacheFactory.GetCacheManager(); cache.Flush(); } } } 说明: 1. 具体的缓存持久化策略在app.config中配置