我的SignalR Hub类需要任何方法吗
本文关键字:任何 方法 SignalR Hub 我的 | 更新日期: 2023-09-27 18:24:47
根据我阅读的文档,为了向客户端发送消息,我只需要调用:
var hubContext = GlobalHost.ConnectionManager.GetHubContext<MyHub>();
hubContext.Clients.All.foo(msg);
所以。。。Hub类需要任何方法吗?如果没有,那么我只有一个空类:
public class MyHub : Hub
{
}
这似乎是一个毫无意义的设置。我是否执行错误?因为在hub类中包含方法,然后调用这些方法向客户端发送消息更有意义。
此外,在集线器本身中,我可以访问Context.connectionId,这样我就可以获得请求者的连接Id,然后停止向该客户端发送消息。。。。如果集线器不应该有方法,那么有办法访问请求者的连接id吗?
是的,您需要一个空的HUB类声明,因为-它实际上只是JS客户端和控制器之间的代理,所以它可能是空的,因为所有方法都是通过Clients动态变量调用的。
我的意思是,没有这个,你可以工作,但你必须为此写JS。以下链接对此进行了简要解释。
有关更多信息,请参阅此链接-http://www.asp.net/signalr/overview/signalr-20/hubs-api/hubs-api-guide-javascript-client#genproxy