隔离SignalR请求

时间:2015-12-17 02:28:07

标签: asp.net-mvc-5 signalr

我正在尝试使用signalR作为消息传递系统来更新网页上的进度条等 - 我需要能够将progess(或任何消息)隔离到特定页面。

IHubContext hubContext = GlobalHost.ConnectionManager.GetHubContext<InventoryHub>();

&gt;&gt;等消息hubContext.Clients.All.InitialiseProgress(inventoryData.Count());

显然问题是Clients.All - 我只是不确定如何连接它以便当它从服务器发送回客户端时 - 它只发送到它被调用的页面。我无法理解connectionid

请帮助: - )

1 个答案:

答案 0 :(得分:0)

您可以使用SignalR Groups将进度消息广播到特定页面。

来自Working with Groups in SignalR

将连接ID​​添加到组:

public class ContosoChatHub : Hub
{
    public Task JoinRoom(string roomName)
    {
        return Groups.Add(Context.ConnectionId, roomName);
    }

    public Task LeaveRoom(string roomName)
    {
        return Groups.Remove(Context.ConnectionId, roomName);
    }
}

向特定群组广播:

Clients.Group(groupName).addChatMessage(name, message);