Для .NET-компонента, который будет использоваться как в веб-приложениях, так и в богатых клиентских приложениях, похоже, существуют два очевидных варианта кеширования: System.Web.Caching или Ent. Lib. Кэширующий блок.
- Что вы используете?
- Почему?
System.Web.Caching
Безопасно ли это использовать за пределами веб-приложений? Я видел смешанную информацию, но я думаю, что ответ может быть, например, не-действительно.
- предупреждение о статье в статье против 1.0 и 1.1 без использования веб-приложения
- На странице 2.0 есть комментарий, который указывает на это: http://msdn.microsoft.com/en-us/library/system.web.caching.cache(VS.80).aspx
- Скотт Гензельман пронизан понятием
- Страница 3.5 содержит предупреждение о таком использовании
- Rob Howard рекомендуется использовать за пределами веб-приложений
Я не ожидаю использовать один из его основных моментов, SqlCacheDependency, но добавление CacheItemUpdateCallback в .NET 3.5 выглядит как действительно хорошая вещь.
Блок приложений кэширования корпоративной библиотеки
- другие блоки уже используются, поэтому зависимость уже существует.
- сохранение кэша не требуется; восстановление кэша при перезапуске ОК
Некоторые элементы кэша всегда должны быть доступны, но периодически обновляться. Для этих элементов получение обратного вызова после удаления элемента не очень удобно. Похоже, клиенту придется просто спать и опросить, пока элемент кэша не заселен.
Memcached для Win32 + . NET-клиент
Каковы плюсы и минусы, когда вам не нужен распределенный кеш?