ASP.NET MVC中的应用程序状态变量或会话状态变量

时间:2018-03-26 10:53:12

标签: c# asp.net-mvc

想要在MVC应用程序的Application_start事件上加载主数据,以便它可以在整个应用程序的生命周期中使用,而不管用户会话如何。 同样,对于每个用户,登录都希望加载用户数据并将其缓存以供进一步使用。 如何在ASP.NET MVC中做两件事?

1 个答案:

答案 0 :(得分:0)

使用System.Runtime.Caching;

protected ObjectCache Cache => MemoryCache.Default;

public virtual T Get<T>(string key)
{
    return (T)Cache[key];
}

public virtual void Set(string key, object data, int cacheTime)
{
    if (data == null) return;

    var policy = new CacheItemPolicy
    {
        AbsoluteExpiration = DateTime.Now + TimeSpan.FromMinutes(cacheTime)
    };

    Cache.Add(new CacheItem(key, data), policy);
}

.Net Core有分布式内存缓存。否则,Redis将是具有相同逻辑的正确选择......

就是这样......:)