如果不允许使用websocket,Blazor服务器将显示警报



我想创建一个Blazor托管服务器。有没有办法显示浏览器警报或将用户重定向到另一个url,例如,如果Blazor Wasm正在运行,SignalR由于不允许使用websocket而无法创建连接?

这可以使用c#或Javascript完成吗?

您可以使用一些实现以下逻辑的Javascript来实现这一点:尝试使用Web套接字进行连接,如果失败,则重定向。下面是我自己在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 Documentation for Javascript客户端。

最新更新