我需要将Microsoft.Extensions.Caching.Redis用于我的asp.net核心项目。
我将此代码放入ConfigureService(Startup.cs):
IDistributedCache cache = new RedisCache(new RedisCacheOptions
{
Configuration = Configuration.GetConnectionString("Redis"),
InstanceName = "Master"
});
services.AddSingleton<IDistributedCache>(cache);
我需要的是捕获一个连接异常(如果Redis服务器已关闭,或者服务器无法访问),但是我还没有找到检查连接的方法,以及是否将代码包装到try / catch中没有任何反应。
有没有办法完成我的任务?
由于
答案 0 :(得分:1)
在此步骤中,您尚未打开与Redis的连接,您只创建了RedisCache类的实例。
稍后当您使用该类的公共方法时,将打开该连接。像RedisCache.GetAsync
方法那样的例子:
// IDistributedCache _cache;
// ...
// This is the place where you may get the exception
var value = await _cache.GetAsync(key);
此处将使用私有Connect方法在内部创建连接(如果需要)。