Наше приложение использует следующую конфигурацию для настройки 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);
});