SignalR — Обновление клиентов из Global.asax

Предположим, у меня есть класс ChatHub, определенный вместе с методом Broadcast.

Я знаю, как рассылать сообщения всем клиентам, если один из них отправляет сообщение, однако как я могу отправить сообщение всем клиентам из Global.asax?

Другими словами, как мне получить доступ к ChatHub из другого класса?

Вот базовый образец:

    public class ChatHub : Hub
    {
      public void Broadcast(String reqMessage)
      {
        Clients.broadcast(reqMessage);
      }
    }

Ваша помощь очень ценится.


person MaYaN    schedule 31.07.2012    source источник
comment
Где ваш класс ChatHub? Можете ли вы разместить более подробную информацию?   -  person sandeep    schedule 01.08.2012
comment
@sandeep, это стандартный хаб, любой хаб. Я все равно добавил пример кода.   -  person MaYaN    schedule 01.08.2012


Ответы (2)


Начиная с SignalR 0.5 вы можете сделать это, используя GlobalHost.ConnectionManager.GetHubContext

Образец

// get gub context
IHubContext context = GlobalHost.ConnectionManager.GetHubContext<ChatHub>();
// broadcast to all clients in this hub
context.Clients.broadcast("Hello World");

Дополнительная информация

person dknaack    schedule 31.07.2012
comment
Tnx чувак, именно то, что мне нужно! ;-) - person MaYaN; 01.08.2012
comment
Рад помочь! Хорошего дня! ;) - person dknaack; 01.08.2012