我在ASP.net应用程序中使用signalr。我希望我的客户在连接时添加到组中。这样,我可以按组分隔消息。我对以下代码有两个问题
public class MyHub : Hub, IDisconnect
{
private IMyInterface x;
public MyHub(IMyInterface y)
{
x = y;
}
public Task Join()
{
string group = x.getGroup();
return Groups.Add(Context.ConnectionId, group);
}
public Task Send(string message)
{
string group = x.getGroup();
return Clients[group].addMessage(message);
}
public Task Disconnect()
{
string group = x.getGroup();
return Clients[group].leave(Context.ConnectionId);
}
}
任何人
答案 0 :(得分:0)
当a时自动调用Join()和Disconnect()方法 客户端连接和断开连接?如果没有,哪里是最好的地方 我打电话给它?
我不知道Join会成为标准的signalr方法,但是文档中有example用于检测客户端与集线器的连接,重新连接和断开连接。
public class Status : Hub, IDisconnect, IConnected
{
public Task Disconnect()
{
return Clients.leave(Context.ConnectionId, DateTime.Now.ToString());
}
public Task Connect()
{
return Clients.joined(Context.ConnectionId, DateTime.Now.ToString());
}
public Task Reconnect(IEnumerable<string> groups)
{
return Clients.rejoined(Context.ConnectionId, DateTime.Now.ToString());
}
}
根据客户行为和您的configuration自动调用这些内容。