如何从Web应用程序服务调用SignalR服务方法

时间:2018-10-24 19:39:06

标签: azure asp.net-core-signalr signalr-service

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

1 个答案:

答案 0 :(得分:1)

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

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

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