C# 使用.net core中的ServiceStack Redis并连接到Sentinel安装程序
我已经创建了一个.net core控制台应用程序,并包括ServiceStack.Redis.core v1.0.23 nuget包。我还在本地运行redis sentinel设置。当我尝试使用sentinel连接方法连接到redis时,应用程序挂起在sentinel.start()上。没有返回任何错误 如果我使用windows控制台应用程序创建相同的应用程序,该应用程序使用标准的windows C#项目,并包含ServiceStack.Redis v4.5.4 nuget包,那么相同的连接代码可以正常工作 我还设法使用单个redis实例从.net核心应用程序进行连接,但不使用sentinel 有没有其他人经历过这种情况,或者知道在.net核心应用程序中实现这种功能的方法 用于尝试连接的代码:C# 使用.net core中的ServiceStack Redis并连接到Sentinel安装程序,c#,redis,asp.net-core,
servicestack.redis,C#,Redis,Asp.net Core,
servicestack.redis,我已经创建了一个.net core控制台应用程序,并包括ServiceStack.Redis.core v1.0.23 nuget包。我还在本地运行redis sentinel设置。当我尝试使用sentinel连接方法连接到redis时,应用程序挂起在sentinel.start()上。没有返回任何错误 如果我使用windows控制台应用程序创建相同的应用程序,该应用程序使用标准的windows C#项目,并包含ServiceStack.Redis v4.5.4 nuget包,那么相同的连接代码
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();
这是一个bug,应该用它来修复
sentinel.Start()
调用RedisPubSubServer
,阻止.NET内核上的当前线程,这就是为什么控件不会返回并挂起。此更改将在带有ServiceStack.Redis.Core v1.0.25软件包的nuget上提供。您可以共享您的Redis/sentinnel主机的配置文件吗?我使用了中的设置,没有任何更改。我可以复制它,让我们看看可以做些什么