Asp.net-Web-Api

在 WebApi 和 MVC 項目之間共享 SignalR 集線器

  • September 10, 2013

是否有推薦的方法在兩個應用程序之間共享 SignalR 集線器?

實際情況是一個面向公眾的 WebAPI 項目和一個內部的 MVC WebApp。我想做的是從 WebAPI 項目呼叫 SignalR 集線器上的方法,並將這些方法的結果推送到通過 MVC 應用程序連接的客戶端。

最好的選擇是創建第三個“Hub”項目並將兩個項目都連接到該項目嗎?如果是這樣,如何管理中心實例?兩個應用程序能否從不同的應用程序池(可能還有主機)中獲取對同一個集線器的引用?

我讀了一些關於GlobalHost.ConnectionManager.GetHubContext,這足以獲得兩個應用程序都可以使用的有效單例集線器嗎?

任何想法都非常感謝。

只需通過 SQL Server 表設置信號器消息路由。它將使用相同的路由設置自動連接所有集線器。沒有別的事可做,這很神奇。

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

您將需要以下 nuget 包:Microsoft.AspNet.SignalR.SqlServer

引用自:https://stackoverflow.com/questions/18704784