Signalr 来自web api的信号器广播

Signalr 来自web api的信号器广播,signalr,Signalr,在mvc应用程序中安装SignalR包时,从位于另一个项目中的webapi向mvc应用程序广播SignalR的最佳实践是什么 MVC-本地主机:8080 API-localhost:8080/API位于不同的项目中 集线器-集线器的共享类库 问题是,如果我在MVC应用程序中安装signalr包,它就不起作用,但如果我在API应用程序中安装它,它就会起作用 有什么想法吗?您不需要共享集线器,如果您仅对广播公司使用集线器API,则集线器是必要的。您可以从MVC项目中删除它们的用法 此外,您不需要这两

在mvc应用程序中安装SignalR包时,从位于另一个项目中的webapi向mvc应用程序广播SignalR的最佳实践是什么

MVC-本地主机:8080

API-localhost:8080/API位于不同的项目中

集线器-集线器的共享类库

问题是,如果我在MVC应用程序中安装signalr包,它就不起作用,但如果我在API应用程序中安装它,它就会起作用


有什么想法吗?

您不需要共享集线器,如果您仅对广播公司使用集线器API,则集线器是必要的。您可以从MVC项目中删除它们的用法


此外,您不需要这两种语言中的完整信号器包。WebAPI几乎没有自己的JS客户机,因为它们来自MVC客户机,所以只安装SignalR.NET客户机库就足够了。在MVC项目上也是这样,从SignalR的角度来看,这只是一个客户端,所以您只需要安装SignalR JS包。我假设您是从WebAPI项目直接向浏览器中的MVC用户广播,但是如果您试图实现服务器到服务器的广播,那么您也需要.NET客户端库,但是仍然不需要共享集线器。

集线器类位于共享项目中,因为从不同的项目中,我可以使用GlobalHost类调用连接。var signalRConnectionId=HttpContext.Current.Request.QueryString[hub];GlobalHost.ConnectionManager.GetHubContext.Clients.ClientSignalConnectionId.sendMessage'test';没关系,从你的问题来看,我不确定你是否知道你所描述的问题并不需要它们。