.net库封装类的缓存存储

.net库封装类的缓存存储,.net,caching,nuget,class-library,disk-access,.net,Caching,Nuget,Class Library,Disk Access,我正在编写一个包含许多高级实用程序类的dll,其他开发人员将在其应用程序中使用这些类 目前我正在开发一个类的实现,该类必须使用大型字符串的本地缓存,否则速度会非常慢 是否有一个统一的缓存存储位置,我可以将我的superclass.cache文件放入其中(从我将进入dll的代码),它将在任何.net应用程序(asp.net)中工作 例如,我见过为ASP.Net编写库的人只是为了这个目的而使用AppData文件夹。但如果我的库是WPF应用程序中的引用,则不会有AppData文件夹。更糟糕的是,它可能

我正在编写一个包含许多高级实用程序类的dll,其他开发人员将在其应用程序中使用这些类

目前我正在开发一个类的实现,该类必须使用大型字符串的本地缓存,否则速度会非常慢

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

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

这就引出了一个问题——要求用户启用缓存,如果是,那么唯一(最好)的选项在哪里


更新:现在当我想到Windows Phone与它的独立存储结合在一起时,我最好只提供一个
iCache
接口,让人们实现它的通用性,我想。

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

谢谢。但是对于我的任务,我需要一些缓存存储,它们不会在缓存类生存期内存在,而是至少在应用程序实例的生存期内存在。