c# - 为所有请求提供相同的对象
问题描述
我正在通过休息服务检索数据并将它们存储在 object中。页面上还有一些功能可以稍后向下钻取。现在我想,由于这些数据几乎不会改变并且需要大约 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");
推荐阅读
- c# - 如果文本包含 HTML,则验证失败
- pdf - 导出为带参数的 PDF
- php - PHP Stripe 集成 - 如何安装库?
- java - 无法通过改造 2 发送值和响应
- com - 如何读取 winmd(WinRT 元数据文件)?
- reactjs - React 和 Express 上的 Stripe 测试返回 404,也没有 console.log req.body
- reactjs - 注销时隐藏注销按钮
- node.js - 在 Node.js 上跨平台开发的路径中,我是否应该始终用正斜杠替换反斜杠?
- asp.net - 来自不同目录的 C# ASP.NET Webform 图像源
- python - 自动排除网络故障