0

在 System.Web.Caching.Cache 类之上是否有任何聪明的层来处理使用泛型获取项目的简单场景。

我可能想提供一个委托函数来检索一个项目,并且能够使用强类型 GetItem 和一个委托函数来获取一个项目,如果它没有找到的话。

例如

 CleverCache<K, T> 
 T GetItem(K)

 RegisterDelegate(FetchItemDelegate<K,T>)

我还想要一种处理只处理单个对象的缓存的好方法。

ASP.NET Cache 对象看起来非常原始。它看起来就像一个带有超时的哈希表。对于我所关心的,他们不妨将其称为 HashtableWithTimeout。我想要一些更好的吸引力。这是缓存应用程序块将为我做的事情吗?

是的,我知道这是相当简单的代码,我现在只是没有时间重新发明任何轮子。

4

2 回答 2

1

You may want to look into some more sophisticated cache providers that can wrap the ASP.NET cache, such as the Enterprise Library's caching block. It provides a much more robust and rich caching story for object lifecycle, invalidation, retrieval, etc.

The ASP.NET cache deserves more credit than you give it - it's actually a very powerful base. Alone, it doesn't do anything complex as you have pointed out, but it is well-designed and robust enough to support some pretty cool stuff.

于 2009-10-14T01:13:57.083 回答
0

您可能希望将SharedCacheMicrosoft Velocity视为对 ASP.NET 中可用的基本缓存的改进。我不知道强类型的设计有多么广泛——但从示例和文档中我发现它比 ASP.NET 缓存更好。

于 2009-10-14T00:10:37.763 回答