Какие есть варианты кэширования базы данных для.Net?
Я вижу в Интернете много вопросов о кешировании ASP.Net, но не так много дискуссий о возможностях кеширования для приложения Smart Client и их баз данных.
Какие варианты кэширования данных доступны для Smart Client Application в.Net framework и как кто-либо из них их использует?
редактировать
Enterprise Framework был упомянут ниже, мысли?
3 ответа
Кэширование часто используемых данных требуется / желательно в приложениях Winforms Smart Client. Чтение данных из кэша часто происходит быстрее, чем попадание ваших провайдеров данных / веб-сервисов.
Вот пара вариантов с примерами
- Блок приложения для кэширования в корпоративной библиотеке - хороший выбор.
- Кроме того, System.Web.Caching.Cache можно использовать с Winforms, просто получите статический экземпляр.
Смотрите пример ниже.
С Entlib
using Microsoft.Practices.EnterpriseLibrary.Caching;
//Later
CacheManager cache= CacheFactory.GetCacheManager();
cache.Add("dataKey", "Yourdata")
Со встроенным кешем.NET - это будет работать и для вашего приложения Winform.
using System.Web.Caching;
using System.Web;
public sealed class CacheProvider
{
private CacheProvider(){};
public static GetInstance()
{
return HttpRuntime.Cache;
}
}
Что ж, если у вас есть приложение Windows Forms, вас обычно не интересуют типы сценариев многопользовательского кэширования, которые распространены в ASP.NET. Я думаю, именно поэтому вы не видите много документации по этому вопросу здесь.
Я обычно использую свой собственный механизм кэширования для Windows Forms - просто сохраняю "кэшированные" вещи как состояние приложения. У вас есть примеры сценария, где он вам понадобится? Решение должно быть адаптировано к проблеме...