2016-10-27 5 views
2

.net 코어 콘솔 응용 프로그램을 만들고 ServiceStack.Redis.Core v1.0.23 Nuget 패키지를 포함 시켰습니다. 또한 로컬로 실행되는 redis sentinel 설치 프로그램이 있습니다. 감시 연결 방법을 사용하여 redis에 연결하려고하면 응용 프로그램이 sentinel.start()에 정지합니다. 오류가 반환되지 않습니다.ServiceStack 사용 .net core의 Redis 및 Sentinel 설정에 연결

표준 Windows C# 프로젝트를 사용하는 Windows 콘솔 응용 프로그램을 사용하여 동일한 응용 프로그램을 만들고 ServiceStack.Redis v4.5.4 Nuget 패키지를 포함하면 동일한 연결 코드가 제대로 작동합니다.

저는 또한 하나의 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 코어의 현재 스레드를 차단하는 RedisPubSubServer을 호출하므로 컨트롤이 돌아 오지 않고 중단됩니다. 이 변경 사항은 ServiceStack.Redis.Core v1.0.25 패키지가 포함 된 너겟에서 사용할 수 있습니다.

관련 문제