2012-03-18 80 views
0

我正在写一个dll,其中包含许多高级实用程序类,其他开发人员将在其应用程序中使用和使用这些类。.net库封装类的高速缓存存储器

目前我正在研究一个类的实现,它必须利用大型字符串的本地缓存,否则会非常缓慢。

有没有一个统一的缓存存储位置,我可以将我的superclass.cache文件放入(从我的代码进入dll),这将在任何.net应用程序(asp.net也)中工作?

例如我见过为ASP.Net编写库的人只是利用AppData文件夹来达到这个目的。但是如果我的库是在WPF应用程序中引用的,则不会有AppData文件夹。更糟糕的是,它可能会运行在不允许从代码写入磁盘的环境中。

这给我们带来的问题 - 要求用户启用缓存,如果 - 其中是唯一的(最好的)的选择吗?

更新:现在,当我想到Windows Phone被隔离存储带到位时,我最好只提供一个ICacher接口,并让人们实现它,以便让我具有普遍性。

回答

1

假设这是.Net 4.0,System.Runtime.Caching命名空间可用;这有一个MemoryCache类(MSDN),它是一个类似于ASP.NET缓存的缓存类,但不依赖于System.Web程序集。作为System.Runtime的一部分,这应该可用于所有类型的应用程序。

+0

谢谢菲尔。但对于我的任务,我需要一些缓存存储,它不会存在于cacher类的生命周期中,而是至少在应用程序实例的生命周期中存在。 – 2012-03-18 21:50:17