.NET的通用缓存机制

时间:2009-02-04 17:15:09

标签: .net caching

我有一个具有Person类的类库。 Person类包含CountryName和CountryCode的属性。 CountryCode是存储在Person表中的值。从附带的查找表中检索CountryName。

因为CountryName和CountryCode之间的映射不太可能发生变化,所以我觉得在Person业务对象中使用缓存进行查找很舒服。

我的类库将来会用于ASP.NET站点以及控制台和Windows应用程序。 实现此类通用缓存的正确机制是什么?(注意小“g”,而不是.NET Generics)

您可能会认为缓存应该在不同的层进行,但我仍然可以从适用于任何类型的.NET项目的缓存机制中受益。

1 个答案:

答案 0 :(得分:2)

我使用Enterprise Library缓存应用程序块来缓存我的应用程序的每一层。在ASP.NET中,我使用内置的ASP.NET缓存。

我实际上建议您使用与实现无关的缓存接口创建一个单独的程序集。这样,如果需要,您可以稍后交换实现,而无需在大量的地方更改代码。这也允许您在ASP.NET和其余代码中使用相同的缓存接口,但是使用像Unity这样的依赖注入框架来交换实际的实现。