我正在使用MVC 5,Signal R 2.0.1和WebAPI 2,并且有一个名为ExportHub的简单集线器
public class ExportHub : Hub
{
public void Send(string name, string message)
{
// Call the addNewMessageToPage method to update clients.
Clients.All.addNewMessageToPage(name, message);
}
}
我试图从WebAPI调用它,以便可以更新UI。
var hubContext = GlobalHost.ConnectionManager.GetHubContext<ExportHub>();
但是在hubContext中我没有看到对Send或addNewMessageToPage的任何引用。如何访问集线器中的方法?
答案 0 :(得分:2)
您将无法调用指定集线器的任何方法。 GetHubContext仅返回指定T Hub的IHubContext。您应该直接从Web api方法调用方法,而不是调用Hub方法,而不是像
那样调用客户端Clients.All.addNewMessageToPage(name, message);
答案 1 :(得分:0)
尝试将Send
方法设为静态,然后调用hubContext.Send(string, string)