しばらくの間、アプリでASP.NET Redis セッション状態プロバイダーを構成しようとしています。この投稿のおかげで、最終的にマスターに直接接続し、キーを設定/取得することができました: ASP.NET セッション状態プロバイダーを使用して Redis サーバーに接続できません
さて、私の次の質問は... これを Sentinel 構成で動作させることです。
SENTINEL get-master-addr-by-name master-dev-sessionstate
マスターを決定するコマンドを熟知しています。このプロバイダーにはこれが組み込まれていますか? 上にリンクされたブログ投稿のコメント (これは、これに関する唯一のドキュメントでもあります) に基づいて、connectionString 属性を使用して複数のホストを渡すことができるように思われます。ただし、これらの複数のホストが Sentinel を意図しているかどうかはわかりません。
<connectionStrings>
<add name="RedisConnection" connectionString="1.2.3.4:5,6.7.8.9:10,abortConnect=false,ssl=false,password=XXXXXX,operationTimeoutInMilliseconds=5000"/>
</connectionStrings>
<sessionState mode="Custom" customProvider="MySessionStateStore">
<providers>
<clear/>
<add name="MySessionStateStore" type="Microsoft.Web.Redis.RedisSessionStateProvider" connectionString="RedisConnection"/>
</providers>
</sessionState>
このように接続を構成すると、次のエラーが表示されます。
追加情報: redis サーバーに接続できませんでした。切断されたマルチプレクサを作成するには、AbortOnConnectFail を無効にします。
接続文字列にマスター IP しかない場合でも、このエラーが発生します。上記のように、接続文字列に abortConnect="false" が含まれています。これは、実行するように指示しているものです。これが接続文字列に存在するかどうかに関係なく、同じエラーが発生します。
これを念頭に置いて、ここに私の質問があります...
- このプロバイダーは Sentinel 構成をサポートしていますか?
- はいの場合、接続文字列の正しい形式は何ですか?
- これに関する他の優れたドキュメントリソースはありますか? Microsoft のサイトで、そのブログ投稿以外の情報を見つけることさえできませんでした。
編集: これはカスタムのローカル Redis インストールであることに注意してください。Azure を介して実行していません。
編集: 最近、作業構成を Sentinel に向けようとしましたが、「この操作にサービスを提供するための接続がありません: EVAL.」というメッセージが表示されます。これにより、このプロバイダーには Sentinel のサポートがないと思われます。誰でもこれを確認できますか?