Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 连接被拒绝-ASP.Net Core 2.1中数据保护密钥的Redis_C#_Docker_Asp.net Core_Redis_Data Protection - Fatal编程技术网

C# 连接被拒绝-ASP.Net Core 2.1中数据保护密钥的Redis

C# 连接被拒绝-ASP.Net Core 2.1中数据保护密钥的Redis,c#,docker,asp.net-core,redis,data-protection,C#,Docker,Asp.net Core,Redis,Data Protection,我正在浏览Microsoft的这篇文章: 我正在努力做到以下几点: services.AddDataProtection() .PersistKeysToRedis(ConnectionMultiplexer.Connect("localhost")); 错误堆栈: app | Unhandled Exception: System.AggregateException: One or more errors occurred. (Connection refu

我正在浏览Microsoft的这篇文章:

我正在努力做到以下几点:

    services.AddDataProtection()
        .PersistKeysToRedis(ConnectionMultiplexer.Connect("localhost"));
错误堆栈:

app    | Unhandled Exception: System.AggregateException: One or more errors occurred. (Connection refused) ---> System.Net.Sockets.SocketException: Connection refused
app    |    at System.Net.Sockets.Socket.BeginConnectEx(EndPoint remoteEP, Boolean flowContext, AsyncCallback callback, Object state)
app    |    at System.Net.Sockets.Socket.UnsafeBeginConnect(EndPoint remoteEP, AsyncCallback callback, Object state, Boolean flowContext)
app    |    at System.Net.Sockets.Socket.PostOneBeginConnect(MultipleAddressConnectAsyncResult context)
app    | --- End of stack trace from previous location where exception was thrown ---
app    |    at System.Net.Sockets.Socket.DoMultipleAddressConnectCallback(Object result, MultipleAddressConnectAsyncResult context)
app    |    at System.Net.Sockets.Socket.DoDnsCallback(IAsyncResult result, MultipleAddressConnectAsyncResult context)
app    |    at System.Net.Sockets.Socket.BeginConnect(String host, Int32 port, AsyncCallback requestCallback, Object state)
app    |    at System.Net.Sockets.Socket.ConnectAsync(String host, Int32 port)
app    |    at System.Net.Sockets.SocketTaskExtensions.ConnectAsync(Socket socket, String host, Int32 port)
app    |    at StackExchange.Redis.SocketManager.BeginConnect(EndPoint endpoint, ISocketCallback callback, ConnectionMultiplexer multiplexer, TextWriter log) in c:\code\StackExchange.Redis\StackExchange.Redis\StackExchange\Redis\SocketManager.cs:line 194
我正在使用Docker:

redis:
    image: redis:alpine
    container_name: redis
    ports:
      - "6379:6379"

有什么想法吗?

您需要参考集装箱和港口

services.AddDataProtection()
        .PersistKeysToRedis(ConnectionMultiplexer.Connect("redis:6379"));
我还在配置中添加了abortConnect=false

REDIS_CONNECTION_STRING = "redis:6379,abortConnect=false"


var redis = ConnectionMultiplexer.Connect(Environment.GetEnvironmentVariable("REDIS_CONNECTION_STRING"));
services.AddDataProtection().PersistKeysToRedis(redis, "DataProtection-Keys");