Signalr 来自后端业务层的呼叫信号器集线器

Signalr 来自后端业务层的呼叫信号器集线器,signalr,signalr-hub,signalr.client,Signalr,Signalr Hub,Signalr.client,我有一个MVC网站,位于一些相当大的业务对象上。我的MVC控制器调用管理器对象,管理器对象将工作转移并委托给其他对象集 基本上,代码是深层服务器端,而集线器在某种程度上就像控制器,因为它非常接近客户端 有没有一种方法可以基于对传递给这些管理器对象的中心的引用来执行SignalR方法?如果MVC和SignalR服务在同一进程上运行,则可以调用GlobalHost.ConnectionManager.GetHubContext(“MyHub”) 如果它们在不同的进程上,那么您需要在MVC应用程序中创

我有一个MVC网站,位于一些相当大的业务对象上。我的MVC控制器调用管理器对象,管理器对象将工作转移并委托给其他对象集

基本上,代码是深层服务器端,而集线器在某种程度上就像控制器,因为它非常接近客户端


有没有一种方法可以基于对传递给这些管理器对象的中心的引用来执行SignalR方法?

如果MVC和SignalR服务在同一进程上运行,则可以调用GlobalHost.ConnectionManager.GetHubContext(“MyHub”)


如果它们在不同的进程上,那么您需要在MVC应用程序中创建一个SignalR客户端

那么所有客户端都将连接到您的web应用程序,并在那里保持连接。从一个单独的后端程序中,您只需调用web应用程序中的web服务,该web服务就可以在web项目中的同一个SignalR hub上发布消息。您的后端应用程序无法直接连接到信号集线器。这一切都通过一个单一的点,你的网络应用程序


如果您只是在同一个web应用程序中讨论共享类库,那么您应该能够将hub对象传递给另一个类,正如另一个人回答的那样:GlobalHost.ConnectionManager.GetHubContext(“MyHub”)

我认为业务逻辑实际上是在一个单独的AppDomain中执行的。如何在MVC应用程序中设置信号器客户端?感谢您提供一些示例?同一流程内的示例:在不同流程上运行时的C#客户机示例: