我正在signalr的集线器(具有接口IConnected
)中使用这部分代码。问题是当我在Group.Add
方法中调用Connect
时,客户端确实不在组中,并且我无法向他发送消息以抛出该组。稍后当我从客户端调用某个方法注册组时,一切正常。我不了解的是,两种方法(在Connect()
中甚至在registerClientToGroup()
中)都具有相同的Groups.Add
方法。
public System.Threading.Tasks.Task Connect()
{
Groups.Add(this.Context.ConnectionId, "group");
return null;
}
一些想法?非常感谢。
我不确定这是否是导致问题的直接原因,但令您惊讶的是,您没有从Task
中返回Connect
的空值,因此我很惊讶。您可能会收到错误,只是不调试/捕获它们。
如果您在Connect
中没有任何其他工作要做,需要您自己的Task
,则只需将Task
从调用返回到Groups.Add
,就像这样:
public Task Connect()
{
return Groups.Add(this.Context.ConnectionId, "group");
}