12

我已经为 REST API 设置了 Azure SignalR 服务。设置下共有三种模式:DefaultServerlessClassic。我找不到任何关于这些项目设置的信息。到目前为止,我得到的唯一一件事是,如果我将 Azure SignalR 用于 Azure Functions 或 REST API,则最好使用无服务器选项

文档

仅当您通过 Azure Functions 绑定或 REST API 使用 Azure SignalR 服务时,才将服务模式设置更改为无服务器。否则将其保留为经典或默认。

ASP.NET SignalR 应用程序不支持无服务器模式。始终为 Azure SignalR 服务实例使用默认或经典。

你能帮我找出这些选项中的每一个吗?

Azure SignalR 设置

4

1 回答 1

10

根据 Github 上的文档,它确定是否需要或允许连接到 SignalR 服务的集线器服务器:

默认模式需要集线器服务器。当集线器没有可用的服务器连接时,客户端尝试连接到该集线器会失败。

无服务器模式不允许任何服务器连接,即它将拒绝所有服务器连接,所有客户端必须处于无服务器模式。

经典模式是混合状态。当一个集线器有服务器连接时,新的客户端将被路由到集线器服务器,如果没有,客户端将进入无服务器模式。

因为在无服务器模式下没有集线器服务器,所以您可以做的事情仅限于向特定客户端发送消息或从连接的客户端向所有客户端广播。此外,由于没有集线器,因此从客户端到 SignalR 服务的消息将通过 HTTP 而不是 Websockets 发送,这可能存在性能问题,详见此处

于 2019-11-05T07:25:57.030 回答