是否可以在不使用其他集线器客户端的情况下从代码库(服务器)调用客户端?

时间:2013-03-04 05:12:12

标签: asp.net signalr signalr-hub

这是一个简单的SignalR应用示例:https://github.com/SignalR/SignalR/wiki/QuickStart-Hubs

我有这门课

  public class Chat : Hub 
  {
       public void Send(string message)
      {
          // Call the addMessage method on all clients            
          Clients.All.addMessage(message);
      }
  }

但我不是自己在任何地方创建一个对象,所以我不知道如何从服务器端调用Send

使用

有一种方法

HubConnection("http://localhost/mysite") - > chat.Invoke("Send", line).Wait();

但它正在寻找我一点开销。我的主要任务是提供从服务器到客户端的事件,以便可以在不使用Microsoft.AspNet.SignalR.ClientHubConnection的情况下进行此操作吗?

1 个答案:

答案 0 :(得分:3)

您不一定需要从集线器外部调用集线器发送方法。而是这样做:

GlobalHost.ConnectionManager.GetHubContext<Chat>().Clients.All.addMessage(message)