.net 如何在applicationstart阶段使用缓存?

.net 如何在applicationstart阶段使用缓存?,.net,caching,caching-application-block,.net,Caching,Caching Application Block,我真的很困惑如何使用缓存。在ASP.NET缓存中,缓存对象是全局的,因此据我所知,我们可以在任何地方访问它。但是,当我查看缓存应用程序块时,如何使用在应用程序启动阶段创建的缓存。使用我在应用程序启动时创建的缓存的策略是什么 提前感谢,一旦为缓存块创建了正确的配置代码段并添加到ASP.NET应用程序的web.config中,您就可以从ASP.NET应用程序的任何位置以相同的方式向缓存添加项目。类似地,从在app.config或web.config中共享相同配置片段的业务层或服务层,您应该能够从缓存

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


提前感谢,

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

这里有很好的解释:

因此,只需尝试创建和使用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片段将从数据库中检索并添加到缓存中,然后在下一个查询中检查它是否存在于缓存中,如果不存在,将再次从数据库加载


有关配置代码段的示例,请查看我上面提到的链接。

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

这里有很好的解释:

因此,只需尝试创建和使用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片段将从数据库中检索并添加到缓存中,然后在下一个查询中检查它是否存在于缓存中,如果不存在,将再次从数据库加载


有关配置代码段的示例,请查看我上面提到的链接。

您想绝对使用应用程序块还是ASP.NET缓存也足够?我不明白你的问题。。。我想你应该读一下:@davidepiras我在开始这个问题之前读过。我想使用应用程序块,但假设我查询了数据库,并将其放在应用程序启动时的缓存中。那么,例如,我如何在业务层或项目中的任何类上使用它?向我们展示在应用程序中将对象放入缓存的方式。\u start:-)您想绝对使用应用程序块还是ASP.NET缓存也足够?我不明白你的问题。。。我想你应该读一下:@davidepiras我在开始这个问题之前读过。我想使用应用程序块,但假设我查询了数据库,并将其放在应用程序启动时的缓存中。例如,如何在业务层或项目的任何类上使用它?向我们展示如何将对象放入应用程序的缓存中。\u start:-)