使用ASP.NET Core v2在内存中保存值[重复]

问题描述 投票:0回答:1

使用Razor页面我在SQL查询的页面加载中使用包含键和值的C#列表填充了5个选择框

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

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

我怎样才能做到这一点?

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

谢谢

托马斯

c# asp.net entity-framework asp.net-core-2.0 razor-pages
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.