Какие есть варианты кэширования базы данных для.Net?

Я вижу в Интернете много вопросов о кешировании ASP.Net, но не так много дискуссий о возможностях кеширования для приложения Smart Client и их баз данных.

Какие варианты кэширования данных доступны для Smart Client Application в.Net framework и как кто-либо из них их использует?


редактировать

Enterprise Framework был упомянут ниже, мысли?

3 ответа

Решение

Кэширование часто используемых данных требуется / желательно в приложениях Winforms Smart Client. Чтение данных из кэша часто происходит быстрее, чем попадание ваших провайдеров данных / веб-сервисов.

Вот пара вариантов с примерами

  1. Блок приложения для кэширования в корпоративной библиотеке - хороший выбор.
  2. Кроме того, 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 - просто сохраняю "кэшированные" вещи как состояние приложения. У вас есть примеры сценария, где он вам понадобится? Решение должно быть адаптировано к проблеме...

Скорость это еще один вариант.

Другие вопросы по тегам