Шифруя пароли в WinForms app.config.NET

Вот хороший и простой класс/сервис помощника кэша, который я использую:

using System.Runtime.Caching;  

public class InMemoryCache: ICacheService
{
    public T GetOrSet<T>(string cacheKey, Func<T> getItemCallback) where T : class
    {
        T item = MemoryCache.Default.Get(cacheKey) as T;
        if (item == null)
        {
            item = getItemCallback();
            MemoryCache.Default.Add(cacheKey, item, DateTime.Now.AddMinutes(10));
        }
        return item;
    }
}

interface ICacheService
{
    T GetOrSet<T>(string cacheKey, Func<T> getItemCallback) where T : class;
}

Использование:

cacheProvider.GetOrSet("cache key", (delegate method if cache is empty));

поставщик Кэша проверит, существует ли что-нибудь под названием "идентификатор кэша" в кэше, и если нет, это назовет метод делегата выбрать данные и сохранить его в кэше.

Пример:

var products=cacheService.GetOrSet("catalog.products", ()=>productRepository.GetAll())
8
задан agnieszka 8 September 2009 в 09:51
поделиться

2 ответа

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

Похожие вопросы: