在WebApi和MVC项目之间共享SignalR集线器

有两种应用程序共享SignalR集线器的推荐方法吗?

实际情况是面向公众的WebAPI项目和内部MVC WebApp。 我想要做的是从WebAPI项目调用SignalR中心的方法,并将这些方法的结果推送给通过MVC应用程序连接的客户端。

最好的选择是创建第三个“Hub”项目,并将两个项目连接到一起? 如果是这样,集线器实例如何管理? 这两个应用程序是否可以从不同的应用程序池(也可能是主机)获取对同一个中心的引用?

我读了一些关于GlobalHost.ConnectionManager.GetHubContext ,这是否足以获得一个有效的单个应用程序可以使用的单一中心?

任何想法不胜感激。


只需通过SQL Server表设置signalr消息路由。 它将使用相同的路由设置自动连接所有集线器。 没有别的事可做,这是魔术。

GlobalHost.DependencyResolver.UseSqlServer(ConfigurationManager.ConnectionStrings["signalr"].ConnectionString);

您将需要以下nuget软件包:Microsoft.AspNet.SignalR.SqlServer

链接地址: http://www.djcxy.com/p/96173.html

上一篇: Sharing a SignalR hub between a WebApi and MVC project

下一篇: Signalr Hub in Separate Dll