为你的工厂添加一个缓存
2011-04-29 08:52 LuzJoy 阅读(2129) 评论(16) 收藏 举报Petshop虽然简单,但是他的架构思想却很经典-----工厂为大家返回DAL。无意中在接触一个项目中对他做了优化,为工厂中添加一个缓存。
首先定义缓存的几个方法,当然你也可以将其放到一个帮助类中。对缓存的操作很多,这里我只选择几个重要的方法。
/// /// 设置某缓存的值。 /// /// 缓存的键 /// 缓存的值 public static void SetCache(string CacheKey, object objObject) { Cache objCache = HttpRuntime.Cache; objCache.Insert(CacheKey, objObject); }
/// /// 取得某缓存的值 /// /// 缓存的键 /// 缓存的值 public static object GetCache(string CacheKey) { Cache objCache = HttpRuntime.Cache; return objCache[CacheKey]; }
这是我们用到的几个方法,缓存帮助的操作类请点击在这里下载。
下面是在工厂中的应用:
public static object CreateObject(string path, string CacheKey) { //从缓存读取 object objType = DataCache.GetCache(CacheKey); //如果读取为空 if (objType == null) { try { //反射创建 objType = Assembly.Load(path).CreateInstance(CacheKey); // 写入缓存 DataCache.SetCache(CacheKey, objType); } catch{ } } return objType; }
浙公网安备 33010602011771号