是否有任何聪明的图层可以放在System.Web.Caching.Cache类的顶部,以处理使用泛型获取项目的简单方案。
我想提供一个委托函数来检索项目,并且能够获取具有强类型GetItem和委托函数的项目,以便在找不到项目时检索它。
例如
CleverCache<K, T>
T GetItem(K)
RegisterDelegate(FetchItemDelegate<K,T>)
我还想要一种处理只能处理单个对象的缓存的好方法。
ASP.NET Cache对象看起来非常原始。它看起来像是一个超时的哈希表。他们也可以把它称为HashtableWithTimeout,因为我所关心的一切。我想要一些更好的吸引力。这是缓存应用程序块将为我做的事情吗?
是的,我知道这是一个相当简单的代码,我现在没有时间让任何车轮重新发明。
答案 0 :(得分:1)
您可能希望查看一些可以包装ASP.NET缓存的更复杂的缓存提供程序,例如Enterprise Library的缓存块。它为对象生命周期,失效,检索等提供了更强大,更丰富的缓存故事。
ASP.NET缓存比你给它更值得信赖 - 它实际上是一个非常强大的基础。如你所指出的那样,它没有做任何复杂的事情,但它设计精良且足够强大,足以支持一些很酷的东西。
答案 1 :(得分:0)
您可能希望查看SharedCache和Microsoft Velocity作为ASP.NET中可用的基本缓存的改进。我不知道强大的输入是如何被广泛设计的 - 但从样本和文档我看到它比ASP.NET Cache更好。