2016-10-27 6 views
2

私は、.netコアコンソールアプリケーションを作成し、ServiceStack.Redis.Core v1.0.23 Nugetパッケージを含んでいます。私はまた、赤いセンチネルのセットアップをローカルで実行しています。センチネル接続メソッドを使用してredisに接続しようとすると、アプリケーションはsentinel.start()でハングします。返されるエラーはありません。ServiceStackの使用.netコアからのRedisとSentinelセットアップへの接続

標準のWindows C#プロジェクトを使用し、ServiceStack.Redis v4.5.4のnugetパッケージを含むWindowsコンソールアプリケーションを使用して同じアプリケーションを作成すると、同じ接続コードが正常に動作します。

私は、1つのredisインスタンスを使用して.netコアアプリケーションから接続することもできますが、その使用はしません。

誰かがこれを経験したことがありますか、または.netコアアプリケーションの中でこれを動作させる方法を知っていますか?

コードは、接続しようとするために使用:

var sentinelHosts = new[] { "127.0.0.1:26380", "127.0.0.1:26381", "127.0.0.1:26382" }; 
var sentinel = new RedisSentinel(sentinelHosts, masterName: "mymaster"); 

var clientManager = sentinel.Start(); 
+0

Redis/sentinnelホストの設定ファイルを共有できますか? –

+0

https://github.com/ServiceStack/redis-configの設定をそのまま使用しました。 – riml

+0

私はそれを再現できました。何ができるか見てみましょう –

答えて

1

それはthis commitで固定しなければならないバグ、です。 sentinel.Start()は、.NET Coreの現在のスレッドをブロックするRedisPubSubServerを呼び出します。そのため、コントロールは戻ってハングしません。この変更は、ServiceStack.Redis.Core v1.0.25パッケージのナゲットで利用可能になります。

関連する問題