我有一个web MVC 5应用程序,我在本地进行了测试并且工作正常。
是否可以跟踪本地变量上的已连接用户?我应该将它存储在数据库中吗?
我有主持人视图和播放器视图,每次玩家上线时,计数器应该添加一个,它可以在localhost上运行但在部署到azure时不起作用(我启用了web套接字)。
有没有办法检查打开的连接并让每个客户端连接到那个?
感谢!!!!!
答案 0 :(得分:1)
我们可以覆盖 OnConnected , OnReconnected 和 OnDisconnected 方法来跟踪/统计SignalR应用程序中的在线用户,以及部署SignalR应用程序对于具有多个实例的Azure网站,我建议您use either a database or Azure table storage for storing connection information。
Hub类中的代码段
public override Task OnConnected()
{
//update the number of online user from database or Azure table storage
//call function usercounter to update clients to show online user number
Clients.All.usercounter(userCount);
return base.OnConnected();
}
public override Task OnReconnected()
{
//update the number of online user from database or Azure table storage
Clients.All.usercounter(userCount);
return base.OnReconnected();
}
public override Task OnDisconnected(bool stopCalled)
{
//update the number of online user from database or Azure table storage
Clients.All.usercounter(userCount);
return base.OnReconnected();
}
此外,SignalR Tracing feature使我们能够查看有关SignalR应用程序中事件的诊断信息,这可以帮助我们解决SignalR问题。