我已经为REST API设置了Azure SignalR服务。设置下共有三种模式:默认,无服务器,经典。我找不到有关这些项目设置的任何信息。到目前为止,我仅有的一件事是,如果我将Azure SignalR用于Azure Functions或REST API,则最好使用Serverless option。
仅当您通过Azure Functions绑定或REST API使用Azure SignalR Service时,才将Service Mode设置更改为Serverless。否则,将其保留为Classic或Default。
ASP.NET SignalR应用程序不支持无服务器模式。始终对Azure SignalR服务实例使用默认或经典。
您能帮我找到这些选项中的每一个吗?
答案 0 :(得分:4)
根据Github上的docs,它确定是否需要连接到SignalR服务的集线器服务器:
默认模式需要集线器服务器。如果没有可用于集线器的服务器连接,则客户端尝试连接到该集线器将失败。
无服务器模式不允许任何服务器连接,即它将拒绝所有服务器连接,所有客户端必须处于无服务器模式。
经典模式是混合状态。集线器与服务器建立连接后,新客户端将路由到集线器服务器,否则,客户端将进入无服务器模式。
因为没有无服务器模式下的集线器服务器,所以您只能将消息发送到特定客户端或从连接的客户端广播到所有客户端。另外,由于没有集线器,因此从客户端到SignalR服务的消息将通过HTTP而不是Websocket发送,这可能会引起性能上的问题here。