如何让System.Runtime.Caching按照请求进行操作'在asp.net中缓存?

时间:2012-11-28 20:18:49

标签: asp.net caching

就像主题所说的那样。我有一个提供DAL的DLL,我想让它在特定的实例中开始缓存。

所提到的DLL既可以在asp.net应用程序中使用,也可以在控制台应用程序中使用。

我想要做的是使用System.Runtime.Caching命名空间,但我希望在每个asp.net环境请求结束时清除缓存。关键是要确保我不会在单个请求中多次返回数据库以获取相同的数据,我不是要为需要在多个请求中存活的数据寻找通用的缓存机制。

我似乎无法在System.Runtime.Caching的这个特定方面找到任何东西。它在asp.net上下文中使用了什么,有没有办法让我这样做?

我意识到我可以在某处使用静态成员,但我不希望这样做,因为它不是未来的证明。

1 个答案:

答案 0 :(得分:0)

它在你所创建的缓存密钥和有效期内。在您的示例中,您将希望提供滑动到期(如果项目未触及,则在经过的时间段后将其从缓存中删除)。

缓存密钥应该具有一些会话/请求特定ID作为其一部分。

看起来奇怪的是,您只能基于每个请求进行缓存,而不是基于每个用户或每个系统。您可能希望探索其他形式的数据共享,如线程本地存储。