Asp.net mvc 5 隔离信号器请求
我试图使用signalR作为一个消息系统来更新网页上的进度条等,我需要能够将进度(或任何消息)隔离到特定页面Asp.net mvc 5 隔离信号器请求,asp.net-mvc-5,signalr,Asp.net Mvc 5,Signalr,我试图使用signalR作为一个消息系统来更新网页上的进度条等,我需要能够将进度(或任何消息)隔离到特定页面 IHubContext hubContext = GlobalHost.ConnectionManager.GetHubContext<InventoryHub>(); IHubContext-hubContext=GlobalHost.ConnectionManager.GetHubContext(); 类似于>>hubContext.Clients.All.Initi
IHubContext hubContext = GlobalHost.ConnectionManager.GetHubContext<InventoryHub>();
IHubContext-hubContext=GlobalHost.ConnectionManager.GetHubContext();
类似于>>hubContext.Clients.All.InitialiseProgress(inventoryData.Count())的消息代码>
显然问题是客户端。所有的-我只是不确定如何连接它,以便当它从服务器发送回客户端时,它只发送到调用它的页面。我无法理解连接ID
请帮助:-)您可以使用信号器组将进度消息广播到特定页面
发件人:
将连接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);
您可以使用信号器组向特定页面广播进度消息
发件人:
将连接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);
“我只是不知道如何连接它,这样当它从服务器发送回客户端时——它只发送到调用它的页面”——我假设这意味着你遇到了客户端。调用方,这还不足以满足你的需要?听起来是对的——我就是不知道如何实现它。例如,我使用hubContext.Clients.All.InitialiseProgress(inventoryData.Count());-但是没有客户端。调用方……“我只是不知道如何连接它,以便当它从服务器发送回客户端时,它只发送到调用它的页面”-我认为这意味着您遇到了客户机。调用方这还不足以满足您的需求?听起来是对的-我就是不知道如何实现它。例如,我使用hubContext.Clients.All.InitialiseProgress(inventoryData.Count());-但是没有客户。来电者…?太好了。。但是我想使用客户机。Caller-我只是不知道如何以一种可以让我使用它的方式实例化hub…?我只是做了一些测试,我认为客户机。在您的情况下,InventoryHub
在hub本身之外是不可用的<代码>组
是,但是如果你真的反对使用组,你必须保留一些其他类型的页面标识符到连接ID的查找。那太好了。。但是我想使用客户机。Caller-我只是不知道如何以一种可以让我使用它的方式实例化hub…?我只是做了一些测试,我认为客户机。在您的情况下,InventoryHub
在hub本身之外是不可用的Groups
是,但是如果您确实反对使用组,那么您必须保留一些其他类型的页面标识符到连接ID的查找。