Я пытался получить ASP.NET Redis Session State Provider, настроенный в моем приложении в течение некоторого времени. Я наконец смог успешно подключиться напрямую к мастеру и установить / получить ключи благодаря этому сообщению: Не удается подключиться к серверу Redis с помощью поставщика состояния сеанса ASP.NET
Теперь мой следующий вопрос ... заставить это работать с конфигурацией Sentinel.
Я знаком с командой SENTINEL get-master-addr-by-name master-dev-sessionstate
для определения мастера. У этого провайдера это встроено? Основываясь на комментариях к сообщению в блоге, приведенному выше (это также ЕДИНСТВЕННАЯ документация, которую я могу найти по этому поводу), кажется, что я должен иметь возможность использовать атрибут connectionString для передачи нескольких хостов. Однако я не уверен, предназначены ли эти несколько хостов для работы в качестве Стражей или нет.
<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. Кто-нибудь может это подтвердить?