使用 ASP.NET Core v2 在内存中保存值
Saving values in memory using ASP.NET Core v2
使用 Razorpage 我有 5 个 Select 框从 SQL 使用包含键和值的 C# 列表的查询填充 onPageLoad
保存表单时,我需要再次获取这些列表中的键和值
因此,为了防止对 SQL 进行更多查询,我想在加载时将列表(键、值对)存储在内存中,以便稍后使用 C#
访问它
我该怎么做?
我正在使用 ASP.NET Core v2 和 C#
谢谢
托马斯
您可以使用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>();
}
使用 Razorpage 我有 5 个 Select 框从 SQL 使用包含键和值的 C# 列表的查询填充 onPageLoad
保存表单时,我需要再次获取这些列表中的键和值
因此,为了防止对 SQL 进行更多查询,我想在加载时将列表(键、值对)存储在内存中,以便稍后使用 C#
访问它我该怎么做?
我正在使用 ASP.NET Core v2 和 C#
谢谢
托马斯
您可以使用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>();
}