Среда объединительной платы Redis сигнала создает исключение "UnableToResolvePhysicalConnection на EVAL" на концентраторе - PullRequest
0 голосов
/ 17 октября 2018

Наше приложение использует следующую конфигурацию для настройки Redis в качестве объединительной платы для сигнала R. Все работало нормально.Внезапно с прошлой недели началось выбрасывание следующего исключения.Любые предложения по устранению этой проблемы.

Это происходит в размещенной среде Azure.Exception UnableToResolvePhysicalConnection on EVAL StackExchange.Redis.RedisConnectionException: UnableToResolvePhysicalConnection on EVAL at Microsoft.AspNet.SignalR.Messaging.ScaleoutStream.Send(Func 2 отправить, состояние объекта) в Microsoft.AspNet.SignalR.Messaging.ScaleoutStreamManager.Send (сообщения Int32 streamIndex, IList 1 messages) at Microsoft.AspNet.SignalR.Messaging.ScaleoutMessageBus.Send(IList 1) в Microsoft.AspNet.SignalR.Messaging.ScaleoutMessageBus.Publish (сообщение сообщения) в Microsoft.AspNet.SignalR.Infrastructure.Connection.Send (сообщение ConnectionMessage) в Microsoft.AspNet.SignalR.ConnectionExtensions.Send (соединение IConnection, String connectionId, значение объекта) в Microsoft.AspNet.SignalR.GroupManager.Add (группа String connectionId, String) в XXXXXXXXXXXXXXX.Subscribe (строка XXXX) в D: \ a \ 1 \ s \ XXXXXXXX \ Уведомления \ MfaHub.cs: строка 24`

Конфигурация

              string connectionString = ConfigurationManager.AppSettings["SignalR.Redis.ConnectionString"].ToString();
                if (!string.IsNullOrEmpty(connectionString))
                {
                RedisScaleoutConfiguration redisScaleOut = new RedisScaleoutConfiguration(connectionString, ConfigurationManager.AppSettings["SignalR.Redis.ApplicationName"].ToString());
                GlobalHost.DependencyResolver.UseRedis(redisScaleOut);
                }
                 GlobalHost.HubPipeline.AddModule(new SignalRExtensions.SignalrErrorHandler());
                // Make long polling connections wait a maximum of 110 seconds for a
                // response. When that time expires, trigger a timeout command and
                // make the client reconnect.
                GlobalHost.Configuration.ConnectionTimeout = TimeSpan.FromSeconds(110);

                // Wait a maximum of 30 seconds after a transport connection is lost
                // before raising the Disconnected event to terminate the SignalR connection.
                GlobalHost.Configuration.DisconnectTimeout = TimeSpan.FromSeconds(30);

                // For transports other than long polling, send a keepalive packet every
                // 10 seconds. 
                // This value must be no more than 1/3 of the DisconnectTimeout value.
                GlobalHost.Configuration.KeepAlive = TimeSpan.FromSeconds(10);

                // Branch the pipeline here for requests that start with "/signalr"
                app.Map("/signalr", map =>
                {
                // Setup the CORS middleware to run before SignalR.
                // By default this will allow all origins. You can 
                // configure the set of origins and/or http verbs by
                // providing a cors options with a different policy.
                map.UseCors(CorsOptions.AllowAll);
                var hubConfiguration = new HubConfiguration
                {
                    // You can enable JSONP by uncommenting line below.
                    // JSONP requests are insecure but some older browsers (and some
                    // versions of IE) require JSONP to work cross domain
                    EnableJSONP = false,
        #if DEBUG
                    EnableDetailedErrors = true,
        #endif
                    EnableJavaScriptProxies=true
                };
                // Run the SignalR pipeline. We're not using MapSignalR
                // since this branch already runs under the "/signalr"
                // path.
                map.RunSignalR(hubConfiguration);
                }); 
...