首页 > 解决方案 > 为所有请求提供相同的对象

问题描述

我正在通过休息服务检索数据并将它们存储在 object中。页面上还有一些功能可以稍后向下钻取。现在我想,由于这些数据几乎不会改变并且需要大约 10 秒来加载,我想存储它们并在每个请求上使用相同的对象。完成此任务的最简单方法是什么?

标签: c#asp.net-mvcasp.net-mvc-4razor

解决方案


内存缓存解决了我的问题,因为它也适用于复杂的对象。

public void ConfigureServices(IServiceCollection services)
{
    services.AddMemoryCache();
    // configure other services
}

public class IndexModel : PageModel
{
    private readonly IMemoryCache _cache;

    public IndexModel(IMemoryCache cache)
    {
        _cache = cache;
    }
    ...
}

var cacheEntry = DateTime.Now;
_cache.Set("Time", cacheEntry);

var myEntry = _cache.Get<DateTime>("myKey"); 

推荐阅读