我正在尝试建立从 Redis 到本地主机的连接。
string connectionString = configuration.GetConnectionString("RedisConnection");
_redis = ConnectionMultiplexer.Connect(connectionString); //Исключение
_database = _redis.GetDatabase();
连接字符串本身来自用户机密:
"ConnectionStrings:RedisConnection": "redis://localhost:6379/",
字符串本身肯定不为空
但在 C# 中我得到这个异常:
StackExchange.Redis.RedisConnectionException HResult=0x80131500 Message=无法连接到 Redis 服务器。现在连接时出错。要允许此多路复用器继续重试直到能够连接,请在连接字符串中使用 abortConnect=false 或 AbortOnConnectFail=false; 在你的代码中。源 = StackExchange.Redis StackTrace:位于 StackExchange.Redis.ConnectionMultiplexer.ConnectImpl(ConfigurationOptions 配置、TextWriter 日志、Nullable
1 serverType, EndPointCollection endpoints) at StackExchange.Redis.ConnectionMultiplexer.Connect(ConfigurationOptions configuration, TextWriter log) at StackExchange.Redis.ConnectionMultiplexer.Connect(String configuration, TextWriter log) at FileCryptWeb.DataBase.Redis.RedisDbContext..ctor() in C:\Users\Stewi\Source\Repos\air2921\FileCryptWeb\FileCryptWeb\DataBase\Redis\RedisDbContext.cs:line 19 at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor) at System.Reflection.ConstructorInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr) at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite callSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSite(ServiceCallSite callSite,TArgument参数)在Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite,ServiceProviderEngineScope范围)在Microsoft.Extensions.DependencyInjection.ServiceLookup.DynamicServiceProviderEngine。<>c__Di splayClass2_0.b__0(ServiceProviderEngineScope范围)在 Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(类型 serviceType,ServiceProviderEngineScope serviceProviderEngineScope) 在 Microsoft.Extensions.DependencyInjection.ActivatorUtilities.GetService(IServiceProvider sp,类型 type,类型 requiredBy,布尔 isDefaultParameterRequired) 在 Microsoft.AspNetCore.Mvc.Controllers.Con trollerFactoryProvider。<>c__DisplayClass6_0.g__CreateController|0(ControllerContextcontrollerContext),位于 Microsoft.AspNetCore.Mvc。Microsoft.AspNetCore.Mvc.Infrastruct.ControllerActionInvoker.InvokeInnerFilterAsync() 处的 Infrastructure.ControllerActionInvoker.Next(State& next、Scope& range、Object& state、Boolean& isCompleted)
尝试启动服务器
C:\Users\Stewi>cd C:\Program Files\Redis
C:\Program Files\Redis>redis-server.exe "C:\Program Files\Redis\redis.windows.conf"
[11340] 12 Sep 01:14:15.298 # Creating Server TCP listening socket *:6379: bind: No error
但在 netstat 中该端口没有监听:
C:\Users\Stewi>netstat
Active Connections
Proto Local Address Foreign Address State
TCP 192.168.0.2:52525 162.159.133.234:https ESTABLISHED
TCP 192.168.0.2:52791 stackoverflow:https ESTABLISHED
TCP 192.168.0.2:52917 20.54.37.64:https ESTABLISHED
TCP 192.168.0.2:53017 ve1190:9251 ESTABLISHED
TCP 192.168.0.2:53102 ve1190:9251 ESTABLISHED
TCP 192.168.0.2:53132 ve1190:9251 ESTABLISHED
TCP 192.168.0.2:53336 ve1190:9251 ESTABLISHED
TCP 192.168.0.2:53352 ve1190:9251 ESTABLISHED
TCP 192.168.0.2:53353 lb-140-82-112-25-iad:https ESTABLISHED
TCP 192.168.0.2:53433 ve1190:9251 ESTABLISHED
TCP 192.168.0.2:53434 ve1190:9251 ESTABLISHED
TCP 192.168.0.2:53437 ve1190:9251 ESTABLISHED
TCP 192.168.0.2:53439 ve1190:9251 ESTABLISHED
TCP 192.168.0.2:53443 ve1190:9251 ESTABLISHED
TCP 192.168.0.2:53445 ve1190:9251 ESTABLISHED
TCP 192.168.0.2:53446 ve1190:9251 ESTABLISHED
TCP 192.168.0.2:53447 ve1190:9251 TIME_WAIT
TCP 192.168.0.2:53449 132.245.231.0:https TIME_WAIT
TCP 192.168.0.2:53452 ve1190:9251 ESTABLISHED
TCP 192.168.0.2:53453 ve1190:9251 ESTABLISHED
TCP 192.168.0.2:53457 ve1190:9251 ESTABLISHED
TCP 192.168.0.2:53458 ve1190:9251 ESTABLISHED
TCP 192.168.0.2:53459 ve1190:9251 ESTABLISHED
TCP 192.168.0.2:53461 ve1190:9251 ESTABLISHED
TCP 192.168.0.2:53462 47:https TIME_WAIT
TCP 192.168.0.2:53463 20.189.173.7:https TIME_WAIT
TCP 192.168.0.2:53466 62.115.252.59:https ESTABLISHED
TCP 192.168.0.2:53467 132.245.231.0:https ESTABLISHED
TCP 192.168.0.2:53469 13.107.246.73:https ESTABLISHED
TCP 192.168.0.2:53470 52.108.8.254:https ESTABLISHED
TCP 192.168.0.2:53471 152.199.21.118:https ESTABLISHED
TCP 192.168.0.2:53472 204.79.197.222:https ESTABLISHED
TCP 192.168.0.2:53473 20.54.232.160:https ESTABLISHED
TCP 192.168.0.2:53474 47:https TIME_WAIT
TCP 192.168.0.2:53475 ve1190:9251 ESTABLISHED
TCP 192.168.0.2:53476 152.199.19.161:https ESTABLISHED
TCP 192.168.0.2:53477 a23-53-53-206:https ESTABLISHED
TCP 192.168.0.2:53478 20.42.128.98:https ESTABLISHED
TCP 192.168.0.2:53479 152.199.19.161:https ESTABLISHED
TCP 192.168.0.2:53480 a23-53-53-206:https ESTABLISHED
TCP 192.168.0.2:53481 20.42.128.98:https ESTABLISHED
TCP 192.168.0.2:53482 13.107.246.73:https ESTABLISHED
TCP 192.168.0.2:53483 13.69.109.131:https ESTABLISHED
TCP 192.168.0.2:53484 152.199.19.161:https ESTABLISHED
TCP 192.168.0.2:53485 13.107.5.88:https ESTABLISHED
TCP 192.168.0.2:53487 a23-35-104-91:https ESTABLISHED
TCP 192.168.0.2:53488 80.239.137.145:https ESTABLISHED
TCP 192.168.0.2:53489 150.171.22.254:https ESTABLISHED
TCP 192.168.0.2:53491 a23-35-104-91:https ESTABLISHED
TCP 192.168.0.2:53492 13.107.237.254:https ESTABLISHED
TCP 192.168.0.2:53493 52.123.128.254:https ESTABLISHED
TCP 192.168.0.2:53494 13.107.42.254:https ESTABLISHED
TCP 192.168.0.2:53495 204.79.197.254:https ESTABLISHED
TCP 192.168.0.2:53496 13.107.18.254:https ESTABLISHED
TCP 192.168.0.2:53497 152.199.19.161:https ESTABLISHED
TCP 192.168.0.2:53498 13.107.246.254:https ESTABLISHED
TCP 192.168.0.2:53499 13.107.42.14:https ESTABLISHED
TCP 192.168.0.2:53500 104.215.5.225:https ESTABLISHED
TCP 192.168.0.2:53501 13.107.253.254:https ESTABLISHED
TCP 192.168.0.2:53502 20.141.10.208:https ESTABLISHED
TCP 192.168.0.2:53503 152.199.19.161:https ESTABLISHED
TCP 192.168.0.2:53504 20.190.181.5:https ESTABLISHED
TCP 192.168.0.2:53505 13.107.42.18:https ESTABLISHED
TCP 192.168.0.2:53506 a23-53-53-206:https ESTABLISHED
TCP 192.168.0.2:53507 13.107.42.18:https ESTABLISHED
TCP 192.168.0.2:53508 13.107.42.18:https ESTABLISHED
TCP 192.168.0.2:53572 lr-in-f188:5228 ESTABLISHED
TCP 192.168.0.2:54929 40:https ESTABLISHED
TCP 192.168.0.2:64183 124:4070 ESTABLISHED
TCP 192.168.0.2:64208 47:https ESTABLISHED
TCP [::1]:2619 DESKTOP-DRISJ7T:62737 ESTABLISHED
TCP [::1]:62737 DESKTOP-DRISJ7T:2619 ESTABLISHED
我的redis版本
Redis server v=3.0.504 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=a4f7a6e86f2d60b3

结果发现解决方案很奇怪:
我做了什么:
我从磁盘中删除了 Redis 并使用本指南安装了它 https://www.youtube.com/watch?v=_nFwPTHOMIY&ab_channel=Redis
使用此命令启动服务器
sudo service redis-server 启动
将连接字符串更改为:
本地主机:6379,abortConnect = false
重要提示,在我的例子中,更改线路并尝试连接到安装在磁盘上的 Redis 并不成功。按照指南安装后,一切正常。虽然乍一看并没有什么区别。
另外,在按照指南安装之前,我尝试从网站安装Redis,版本7.2.1也没有帮助