2017-05-26 17 views
1

私はasp.netコアプロジェクトにMicrosoft.Extensions.Caching.Redisを使用する必要があります。Microsoft.Extensions.Caching.Redis接続を捕捉できませんか?

私はConfigureService(Startup.cs)にこのコードを置く:(場合にRedisのサーバーがダウンしているか、サーバが到達不能である)私は必要なもの

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

services.AddSingleton<IDistributedCache>(cache); 

は、接続の例外をキャッチすることですが、私は接続をチェックする方法を見つけていないし、コードをtry/catchにラップすると何も起こりません。

私の仕事を達成する方法はありますか?

おかげ

答えて

0

あなたは、まだRedisのへの接続を開いていない、あなただけRedisCacheクラスのインスタンスを作成した。この工程では。

後でクラスのパブリックメソッドを使用するときに接続が開かれます。一例としてRedisCache.GetAsync方法のようなもの:

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

ここで(必要な場合)接続はプライベートConnectメソッドを使用して、内部で作成されます。

関連する問題