响应SignalR中心的事件

时间:2013-11-12 13:42:18

标签: asp.net-mvc events event-handling signalr

我正在寻找一种方法来首先在我的存储库类中公开一个事件, 并在我的信号器集线器中注册该事件, 例如,如果用户已添加到我的应用程序中,则会通知所有连接的用户。 我在我的后端使用asp.net Mvc。 这样做的推荐方法是什么, 我应该从哪里开始?

1 个答案:

答案 0 :(得分:3)

如果您想通知其他客户端,就像在所有连接的客户端上执行消息一样简单。

AKA:

class MyHub : Hub 
{
    public void AddUserToApplication()
    {
        ...Your logic to add your user...
        Clients.All.newUserInApp(); // newUserInApp would then have to be defined on the client.
    }
}

如果您希望在集线器之外执行此类行为,也就是在计时器中,您可以通过以下方式访问集线器“客户端”属性:

IHubContext context = GlobalHost.ConnectionManager.GetHubContext<MyHub>();

所以你可以这样做:

context.Clients.All.newUserInApp();