【发布时间】:2020-03-18 10:51:01
【问题描述】:
我正在通过休息服务检索数据并将它们存储在一个对象中。页面上还有一些功能可以稍后向下钻取。 现在我想,由于这些数据几乎不会改变并且需要大约 10 秒来加载,我想存储它们并在每个请求上使用相同的对象。实现此目的最简单的方法是什么?
【问题讨论】:
标签: c# asp.net-mvc asp.net-mvc-4 razor
我正在通过休息服务检索数据并将它们存储在一个对象中。页面上还有一些功能可以稍后向下钻取。 现在我想,由于这些数据几乎不会改变并且需要大约 10 秒来加载,我想存储它们并在每个请求上使用相同的对象。实现此目的最简单的方法是什么?
【问题讨论】:
标签: c# asp.net-mvc asp.net-mvc-4 razor
内存缓存解决了我的问题,因为它也适用于复杂的对象。
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");
【讨论】: