【问题标题】:Saving values in memory using ASP.NET Core v2 [duplicate]使用 ASP.NET Core v2 将值保存在内存中 [重复]
【发布时间】:2018-06-02 00:00:45
【问题描述】:

使用 Razorpage,我使用包含键和值的 C# 列表从 SQL 查询中填充了 5 个选择框 onPageLoad

保存表单时,我需要再次获取这些列表中的键和值

因此,为了防止对 SQL 进行更多查询,我想在加载时将列表(键、值对)存储在内存中,以便稍后使用 C# 访问它

我该怎么做?

我正在使用 ASP.NET Core v2 和 C#

谢谢

托马斯

【问题讨论】:

  • 这些价值观是基于会话还是对每个人都一样?如果它们对每个人都相同,您可以将它们保存在 MemoryCache 缓存项中。
  • 是的,它们对所有用户都一样

标签: c# asp.net entity-framework asp.net-core-2.0 razor-pages


【解决方案1】:

你可以使用IMemoryCache

在您的 Startup.cs 中

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMemoryCache();
    }
}

在你的控制器中

public class HomeController : Controller
{
    private IMemoryCache _cache;

    public HomeController(IMemoryCache memoryCache)
    {
        _cache = memoryCache;
    }
}

然后获取它

 var cacheEntry = _cache.GetOrCreate("your-cache-key", entry =>
 {
    entry.SlidingExpiration = TimeSpan.FromMinutes(10);

    // return your key/value list;
    return new Dictionary<string,string>();
 }

更多信息请查看In-memory caching in ASP.NET Core

【讨论】:

    猜你喜欢
    • 2017-04-20
    • 1970-01-01
    • 2013-08-27
    • 2016-10-08
    • 2017-06-22
    • 2016-12-19
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多