SignalR Core缩放/托管

问题描述 投票:0回答:1

我对服务器端的SignalR Core有一些疑问;

我的服务器是用ASP.NET Core编写的,它使用SignalR向用户发送通知。服务器使用控制器与客户端进行交互的端点。

1)我可以将整个项目托管在Azure App Service中并向其中添加SignalR服务吗?还是将SignalR代码拆分到自己的服务器(在需要时从“主”服务器调用)会更好?

2)SignalR服务具有“无服务器”选项,根据文档说明,该选项不支持客户端在所述模式下调用任何服务器RPC。我可以在无服务器模式下运行此程序吗,因为我仅使用套接字将通知发送给客户端。还是保留用于Azure功能?

3)是否有一种方法可以获取SignalR集线器中用户的连接数?如果他与服务器没有任何连接,我想向用户发送推送消息。如果不是,建议的处理方式是什么?我当时正在考虑添加一个保持计数的单例服务,但不确定是否可以大规模运行,尤其是使用SignalR服务。

谢谢。

signalr signalr-hub asp.net-core-signalr
1个回答
0
投票

1)更好地使用Azure SignalR。

2)与集线器一起使用。

3)如果使用Azure SignalR,则只能从门户网站中看到它。在代码中,无论是否使用Azure SignalR,都可以将用户ID保存在某些var中并计算连接数。如果您有多个集线器和服务器,则需要做更多的事情(例如,如果使用redis-backplane)。

© www.soinside.com 2019 - 2024. All rights reserved.