【发布时间】:2018-02-22 13:11:32
【问题描述】:
我创建 Hub 类,当新用户连接调用函数 OnConnected 时:
public class ReportChat : Hub
{
public async Task OnConnected()
{
string name = Context.User.Identity.Name;
await Groups.AddAsync(Context.ConnectionId, name);
}
}
但是当连接第二个用户时,或者有时,当我刷新页面时 SignalR 在前端生成错误:没有与该 ID 的连接。
使用传输协议:signalR.TransportType.LongPolling
connection = new signalR.HubConnection("/ReportJson", { transport: signalR.TransportType.LongPolling });
connection.on('SendReport',
function(data) {
console.log(data.value.name);
});
connection.start().then(() => {
connection.invoke('OnConnected');
hubConnectionEstablished = true;
});
【问题讨论】:
-
如果您刷新页面,客户端会获得一个新 ID。你应该自己处理这个
-
如果您有多个服务器,您需要打开粘性。
标签: signalr signalr.client asp.net-core-signalr signalr-2