我在IMemoryCache中存储int
。当我尝试更新它时,更改不会持续存在。我猜它是因为我使用的是值类型。当我使用字典并更新字典中的条目时,它工作正常,但我只需要一个int。
我还尝试将ref
添加到userCount
,但也没有。
// Startup
public IServiceProvider ConfigureServices(IServiceCollection services)
{
services.AddIdentityServer().AddInMemoryCaching()
}
public void UpdateCounter()
{
IMemoryCache memCache = httpContext.RequestServices.GetService(typeof(IMemoryCache)) as IMemoryCache;
// If entry exists, increment value
if (cache.TryGetValue("UserCountKey", out int userCount))
{
userCount++; // DOESN'T WORK
}
// Entry doesn't exist, create with exipre
else
{
cache.Set("UserCountKey", 1, DateTime.Now.AddMinutes(5));
}
}