c# - Catch Microsoft.Extensions.Caching.Redis 连接失败?

标签 c# asp.net caching redis asp.net-core

我需要在我的 asp.net 核心项目中使用 Microsoft.Extensions.Caching.Redis。

我将此代码放入 ConfigureService (Startup.cs) 中:

IDistributedCache cache = new RedisCache(new RedisCacheOptions
{
    Configuration = Configuration.GetConnectionString("Redis"),
    InstanceName = "Master"
});

services.AddSingleton<IDistributedCache>(cache);

我需要的是捕获连接异常(以防Redis服务器宕机,或者服务器无法访问),但是我还没有找到检查连接的方法,如果我将代码包装到try/catch中没有任何反应。

有没有办法完成我的任务?

谢谢

最佳答案

在这一步,您还没有打开与 Redis 的连接,您只创建了一个 RedisCache 的实例。类。

连接将在您使用该类的公共(public)方法时打开。以 RedisCache.GetAsync 方法为例:

// IDistributedCache  _cache;
// ...
// This is the place where you may get the exception
var value = await _cache.GetAsync(key);

此处将使用私有(private) Connect 在内部(如果需要)创建连接方法。

关于c# - Catch Microsoft.Extensions.Caching.Redis 连接失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44199798/

相关文章:

php - Redis与PHP——实现数据缓存

c# - 通过在循环内添加更多元素来扩展 foreach 循环

c# - 使用 TransactionScope 的嵌套事务

c# - 磁盘访问的子域托管问题 (C#/ASP.NET 3.5)

asp.net - 设置文本样式 asp.net javascript

c# - 自定义 TraceListener 和多条消息

css - 将服务器端 CSS 应用于客户端

c# - 检查 IEnumerable<T> 是否不包含重复项(= 不同)的快速方法

javascript - AngularJS:翻译服务调用返回不可用的$$state对象

c# - 将SQL查询结果数据提前加载到缓存中