Можно ли запустить Asp.net SignalR 2 и Azure SignalR Asp.net на одном сервере? - PullRequest
0 голосов
/ 05 января 2019

Нам нужен путь миграции из одного экземпляра SignalR 2 с Scaleout на Azure. Поэтому мы решили использовать Azure SignalR с пакетом Microsoft.Azure.SignalR.AspNet. У нас есть старый URL-адрес, сопоставленный с / signalr, и мы хотим отобразить новый URL-адрес на / signalr2 (например).

Новая конечная точка прекрасно работает с перенаправлением в службу Azure SignalR, но на старой конечной точке мы всегда получаем ошибку: невозможно успешно инициализировать транспорт. Попробуйте указать другой транспорт или вообще не использовать его для автоматической инициализации.

Конфигурация Asp.Net SignalR

app.Map("/signalr", map =>
{
    var hubConfiguration = new HubConfiguration
    {
        Resolver = GlobalHost.DependencyResolver,
        EnableDetailedErrors = true,
    };

    map.RunSignalR(hubConfiguration);
});

Azure SignalR config

var hc = new HubConfiguration
{
    Resolver = GlobalHost.DependencyResolver,
    EnableDetailedErrors = true,
};
app.MapAzureSignalR("/signalr2", AppSettings.Instance.ApplicationName, hc, options =>
{
    options.ConnectionCount = 5;
    options.AccessTokenLifetime = TimeSpan.FromDays(1);
});

Концентратор с Url / signalr2 работает из JavaScript-клиента 2.4, но в URL-адресе / signalr также всегда появляется ошибка: транспорт не может быть успешно инициализирован. Попробуйте указать другой транспорт или вообще не использовать его для автоматической инициализации.

Нам нужна поддержка старого url / old lib, потому что у нас большое количество клиентов со старой версией и нам нужен период миграции.

...