为所有请求提供相同的对象

Provide same object for all requests

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

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

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