• 2019年10月15日

.net core 使用MemoryCache替代Application对象

在Asp和Asp.Net中,我们可以通过Application对象保存全局通用参数,然而.Net Core中并没有该对象,为了保存全局参数,我们可以通过定义static的MemoryCache对象存储全局参数缓存,并设定参数过期时间。

.Net Core中,缓存定义在Microsoft.Extensions.Caching.Memory的命名空间中。

使用的时候需要首先在Startup.cs的ConfigureServices中加上

services.AddMemoryCache();

然后在类定义中添加Microsoft.Extensions.Caching.Memory的引用

using Microsoft.Extensions.Caching.Memory;
namespace Momayun.Caching
{
public class CacheHelper
{
private static MemoryCache _cache = new MemoryCache(new MemoryCacheOptions());
public CacheHelper()
{}
public static bool Set(string keyName,object keyValue,DateTimeOffset offset)
{
bool result = false;
try{
_cache.Set(keyName,keyValue,offset);
result = true;
}
catch(exception e)
{}
return result;
}
public static object Get(string keyName)
{
object result = null;
try{
object.TryGetValue(keyName,out result);
}
catch(exception e)
{}
return result; //调用时判断下获得的值是否为null
}
}
}

如上代码就是一个简单的缓存小工具类,可以根据需要进行再次拓展。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注