簡體   English   中英

如何在asp.net mvc 4中緩存服務器上的數據?

[英]How to cache data on server in asp.net mvc 4?

我正在研究mvc4 Web應用程序。 我想在服務器端緩存一些數據庫查詢結果和視圖。 我用了-

HttpRuntime.Cache.Insert()

但它在客戶端緩存數據。 請幫忙。

我正在使用MemoryCache存儲查詢結果,到目前為止工作正常。
以下是我用來實現它的一些鏈接。
- 在.NET 4.0中使用MemoryCache(codeproject)
- 在.NET 4.0中使用MemoryCache(博客文章)

當我現在閱讀它們時,我發現它們並不那么清楚,所以也許有一個更好的鏈接,我已經失去了某個地方。
這是我的代碼示例,我希望它足夠清晰,以便您了解它是如何工作的

public static class AgencyCacheManager
{
    private static MemoryCache _cache = MemoryCache.Default;

    public static List<RefAgency> ListAgency
    {
        get
        {
            if (!_cache.Contains("ListAgency"))
                RefreshListAgency();
            return _cache.Get("ListAgency") as List<Agency>;
        }
    }

    public static void RefreshListAgency()
    {
        var listAgency = GetAllComplete();

        CacheItemPolicy cacheItemPolicy = new CacheItemPolicy();
        cacheItemPolicy.AbsoluteExpiration = DateTime.Now.AddDays(1);

        _cache.Add("ListAgency", listAgency, cacheItemPolicy);
    }
}

並從緩存中檢索列表

public Agency FindBy(string agencyId)
{
    return AgencyCacheManager.ListAgency.SingleOrDefault(x => x.AgencyPartnerCode == agencyId);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM