1

假设我有一个在 Azure Web App Service 上运行的企业应用程序。在 100 多个页面中,我有 3-5 个页面需要实时提供。为了从 Azure SignalR 服务的实时功能中受益,我想让客户端登陆我的 SignalR 应用程序(在 RignalR 服务上运行)。但我找不到任何相关的示例文章。如何在代码之外调用 Hub 方法?任何其他解决我的问题的方法都非常受欢迎。我主要关心的是实时页面的性能。

4

1 回答 1

2

如果您有一个 ASP.NET Core SignalR 服务器(即您的应用程序中有派生的类Hub),则不能通过 Azure SignalR 服务直接向客户端发送消息。您必须在 ASP.NET Core 应用程序中提供一个 API 来执行此操作。

Azure SignalR 还支持“无服务器”模式,在这种模式下,您根本没有Hub服务器。在该模型中,客户端直接连接到服务(而不是先连接到您的应用程序),然后您可以使用REST API向这些客户端发送消息。这是一个相对较新的场景,因此没有很多文档。网上有一些关于这个主题的博客文章视频,但文档不多。

如果您已经有一个 ASP.NET Core 应用程序,我建议您通过向您自己的应用程序添加一个 REST API 来执行此操作,该 API 允许您的应用程序中的其他服务通过调用此 API 来发送消息。在此 API 的实现中,您可以使用IHubContext<T>来发送消息。

于 2018-10-29T18:30:30.387 回答