我正在使用mvc4 Web应用程序。我想在服务器端缓存一些数据库查询结果和 View 。我用了-

HttpRuntime.Cache.Insert()

但它会在客户端缓存数据。请帮忙。

最佳答案

我正在使用MemoryCache存储查询结果,到目前为止,它工作正常。
这是我用来实现它的一些链接。
-Using MemoryCache in .NET 4.0 (codeproject)
-Using MemoryCache in .NET 4.0 (blog entry)

当我现在阅读它们时,我发现它们并不清楚,所以也许我失去了一个更好的链接。
这是我的代码示例,希望它足够清楚,以便您了解其工作原理

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);
}

关于c# - 如何在ASP.NET MVC 4中的服务器上缓存数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22498893/

10-14 12:46
查看更多