1

我真的很困惑使用缓存。在 ASP.NET 缓存中,缓存对象是全局的,因此据我所知,我们可以在任何地方访问它。但是当我查看缓存应用程序块时,如何使用我在 application_start 阶段创建的缓存。使用我在 application_start 创建的缓存的策略是什么?

提前致谢,

4

1 回答 1

1

一旦为缓存块创建了正确的配置片段并将其添加到 ASP.NET 应用程序的 web.config 中,您就可以从 asp.net 应用程序的任何位置以相同的方式将项目添加到缓存中。同样,从在其 app.config 或 web.config 中共享相同配置片段的业务或服务层,您应该能够从缓存中检索项目。

这在这里得到了很好的解释:探索缓存:使用缓存应用程序企业库 4.1

所以只需尝试创建和使用 ICacheManager,例如以这种方式:

//Create Instance of CacheManager 
ICacheManager objCacheManager = CacheFactory.GetCacheManager();    

//Add a new CacheItem to Cache
objCacheManager.Add("YourKey", yourObject);

然后从在该 IIS 上运行但作为另一个应用程序的另一个项目或 Web 服务,如果 web.config 包含相同的片段来配置缓存,请使用以下命令:

//Create Instance of CacheManager 
ICacheManager objCacheManager = CacheFactory.GetCacheManager();

// Check If Key is in Cache Collection
if(objCacheManager.Contains("YourKey"))
{
  var myObject = objCacheManager.GetData("YourKey");
}

您实际上应该想象这在应用程序架构中处于较低级别,如果您通过业务逻辑从数据库中加载数据,我想那块 BL 将从数据库中检索并添加到缓存中,然后在下一个查询中检查如果它存在于缓存中,否则将从数据库中再次加载。

有关配置片段的示例,请检查我上面提到的链接。

于 2011-09-18T20:57:02.680 回答