복붙노트

[REDIS] ASP.NET 세션 상태 공급자를 사용 레디 스 서버에 연결할 수 없습니다

REDIS

ASP.NET 세션 상태 공급자를 사용 레디 스 서버에 연결할 수 없습니다

지금은 몇 시간 동안 레디 스와 ASP.NET 세션을 대체하기 위해 시도되었다. 레디 스에 대한 Microsoft ASP.NET 세션 상태 공급자를 여러 시간이 보람되고있다.

우리는 레디 스에 대한 센티넬 구성에이 - 프레미스 있습니다. 원래 나는이 공급자에 파수를 지원하지 않는 때문에 작동하지 않는 생각했다. 나는 적어도 연결을 설정할 수있을 것이라고 희망, 마스터를 사용하여 내 연결 문자열을 전환했다. 아직 아무것도 없습니다.

나는이 공급자에 대한 여러 구성을 시도하고 지속적으로 하나 또는 "추가 정보"요청에 대한 사용할 수있는 연결을 "수신하지 않은 : 레디 스 서버 (들)에 연결할 수 아니었다, 비활성화 AbortOnConnectFail를 연결이 끊긴 멀티플렉서를 만들 UnableToResolvePhysicalConnection을에. 핑."

여기에 내가 시도 한 구성의 일부입니다 :

# 1을 시도 :

<connectionStrings>
  <add name="RedisConnection" connectionString="1.2.3.4:5,abortConnect=false,ssl=true,password=XXXXXX,ConnectTimeout=10000"/>
</connectionStrings>

<sessionState mode="Custom" customProvider="MySessionStateStore">
  <providers>
    <add name="MySessionStateStore" type="Microsoft.Web.Redis.RedisSessionStateProvider" connectionString="RedisConnection" />
  </providers>
</sessionState>

# 2를 시도 :

<sessionState mode="Custom" customProvider="MySessionStateStore">
  <providers>
    <add name="MySessionStateStore" type="Microsoft.Web.Redis.RedisSessionStateProvider" host="1.2.3.4" port="5" accessKey="XXXXXXX" />
  </providers>
</sessionState>

# 3을 시도 :

<sessionState mode="Custom" customProvider="MySessionStateStore">
  <providers>
    <add name="MySessionStateStore" type="Microsoft.Web.Redis.RedisSessionStateProvider" host="1.2.3.4:5" accessKey="XXXXXXX" />
  </providers>
</sessionState>

나는이 공급자에 아주 작은 문서를 발견하고, 문제 해결 도전하고있다. 나는 마이크로 소프트 제공 업체에 비해 타사 공급자를 가로 질러 와서 그것을 시도하기로 결정했다.

나는 다음과 같은 구성을 사용하여 성공적으로 Harbour.RedisSessionStateStore에 연결할 수 있었다 :

<sessionState mode="Custom" customProvider="RedisSessionStateProvider">
  <providers>
    <clear />
    <add name="RedisSessionStateProvider" type="Harbour.RedisSessionStateStore.RedisSessionStateStoreProvider" host="PASSWORD@1.2.3.4:5" clientType="pooled" />
  </providers>
</sessionState>

이것은 마음이다로, 마이크로 소프트 공급자에 대한 연결 문자열에 대한 올바른 형식은 무엇인가? 나에게 첫 번째 파티 라이브러리에서 내부 지원을받을하는 것이 쉬울 것이며,이 시점에서,이 작업을 얻을 수있는 도덕적 승리 할 것이다.

또한, 만약 아무도 내가, 내가 블로그 게시물 또는 주제에 대한 지식 공유의 모든 종류의 환영에 연결할 마스터 인스턴스를 센티넬을 명중하고 결정하려면이 옵션을 구성 할 수 있습니다 방법을 알고 있습니다.

감사합니다!

해결법

  1. ==============================

    1.나는 그러나 직접 마스터, 당신에게 우리가 우리의 생산, 아니 감시에서이 작업 구성의 예를 제공 할 수 있습니다 :

    나는 그러나 직접 마스터, 당신에게 우리가 우리의 생산, 아니 감시에서이 작업 구성의 예를 제공 할 수 있습니다 :

    <system.web>
      <sessionState mode="Custom" customProvider="Custom_RedisSessionStateStore">
        <providers>
        <add name="Custom_RedisSessionStateStore" type="Microsoft.Web.Redis.RedisSessionStateProvider" host="your_host_name_goes_here" accessKey="" port="6379" ssl="false" operationTimeoutInMilliseconds="5000" />
        </providers>
      </sessionState>
    </system.web>
    
  2. from https://stackoverflow.com/questions/32184655/cant-connect-to-redis-server-using-asp-net-session-state-provider by cc-by-sa and MIT license