2009-02-19 3 views
4

Я разрабатываю клиентское приложение Windows и хотел бы кэшировать некоторые данные. Это довольно простой сценарий, в основном просто хранение некоторых данных в памяти, поэтому приложение может избежать сбоев, если сетевое соединение выпадает.Альтернативы блоку приложений кэширования EntLib?

Я мог бы свернуть свое собственное решение для кеша или использовать блок кэширования EntLib, но я ищу еще несколько альтернатив, прежде чем что-то совершить.
Проблема заключается в том, все поиски, которые я сделал либо шоу:

  • EntLib блок (который я уже знаю о)
  • Кэш ASP.NET (который я не могу использовать)
  • скорость (которая распространяется, и требует обслуживания окон для подключения)
  • NCache (также распространяется, подобно скорости)

Конечно, есть и другие библиотеки кэширования в памяти из т Вот?

Благодаря

ответ

1

Любое кэширование я сделал в WinForms я сделал со статическими переменными, но если я делаю что-то не тривиальный, я бы, вероятно, использовать рамки DI и просто использовать его кэширование. http://blogs.conchango.com/owainwragg/archive/2008/10/31/caching-with-castle-windsor.aspx

Не полное решение. Это имеет смысл для кэширования объектов, возвращаемых из ядра DI, но не обязательно произвольных значений.

+0

Что имеет контейнер DI, связанный с кешированием? Я вижу, что Windsor, очевидно, обеспечивает эту функциональность богатым способом, но почему бы вам это сделать? –

+0

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

+0

Хорошая точка, и это имеет смысл, если вы возвращаете объекты из своего контейнера DI ... Похоже, что неправильно, если я просто хочу кэшировать, скажем, большой кусок XML или аналогичный, хотя ... –

6

.Net 4.0 представило пространство имен System.Runtime.Caching. Рекомендуется для кэширования памяти в будущем в соответствии с документацией MSDN: Caching in .NET Framework Applications. Он моделируется аналогично реализации System.Web.Caching до 4.0, поэтому пользователи ASP.NET должны быть относительно знакомы с его использованием.

Смежные вопросы