Хранилище кеша для инкапсулированных классов библиотеки .net - PullRequest
0 голосов
/ 19 марта 2012

Я пишу DLL с несколькими высокоуровневыми служебными классами, которые другие разработчики будут использовать и использовать в своих приложениях.

В настоящее время я работаю над реализацией класса, который должен использовать локальное кэширование больших строк, иначе это будет очень медленно.

Существует ли единое хранилище кэша, в которое я могу поместить мой файл superclass.cache (из моего кода, который будет входить в dll), который будет работать в любом приложении .net (также asp.net)?

Например, я видел людей, которые пишут библиотеки для ASP.Net, просто используют папку AppData для этой цели. Но если моя библиотека является ссылкой в ​​приложении WPF, папка AppData не будет. Хуже того, он может быть запущен в среде, где запрещена запись на диск из кода.

Это подводит нас к вопросу - просит пользователя включить кэширование , а если да - , где является единственным (лучшим) вариантом?

ОБНОВЛЕНИЕ: Теперь, когда я думаю о Windows Phone, поставляемом на место с его изолированным хранилищем, мне лучше просто предоставить интерфейс ICacher и позволить людям реализовать его универсально, я думаю.

1 Ответ

1 голос
/ 19 марта 2012

Предполагая, что это .Net 4.0, доступно пространство имен System.Runtime.Caching;класс MemoryCache ( MSDN ), который является классом кэширования, аналогичным кэшу ASP.NET, но не зависит от сборки System.Web.Как часть System.Runtime, это должно быть доступно для всех типов приложений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...