如何在不更改过期的情况下更新IMemoryCache中的值类型

时间:2018-03-06 16:11:48

标签: asp.net-core .net-core

我在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));
    }   
}

0 个答案:

没有答案