Вы можете сделать это с некоторым Javascript, реализующим следующую логику: попробуйте подключиться с помощью веб-сокетов, если не удается, перенаправить. Вот мой собственный рабочий пример в TypeScript :
public startConnection = () => {
this.hubConnection = new signalR.HubConnectionBuilder()
.configureLogging(signalR.LogLevel.Debug)
.withUrl('http://localhost:20000/yourHub', signalR.HttpTransportType.WebSockets)
.build();
this.hubConnection
.start()
.then(() => {
console.log('Connected!');
})
.catch(err => {
console.log('Error while starting connection: ' + err));
// do the redirect stuff here...
}
}
Если вы не знакомы с Javascript, вы можете начать читать Документация Microsoft для клиента Javascript.