Model view controller 基于角色的通知,以及在MVC5中使用信号器的组

Model view controller 基于角色的通知,以及在MVC5中使用信号器的组,model-view-controller,signalr,signalr-hub,signalr.client,Model View Controller,Signalr,Signalr Hub,Signalr.client,我是一个信号器的初学者,需要制作一个应用程序,其中有许多用户具有许多角色,并且应该有三个向客户端发送通知的渠道 1.公共(用于所有人) 2.私人(向个人发送通知) 3.组和子组(向某个组或子组的成员发送通知) 问题是我无法理解Signal中的用户差异,也无法理解组的概念 任何人请给我指点一下首先,你可以开始阅读关于小组的内容。然后,您可以阅读,以便能够为每个角色创建组和管理用户 您可以做的是,当客户端连接到中心时,假设您知道用户角色(使用上下文和授权),您将把他们添加到这3个组中 这样就很容易向

我是一个信号器的初学者,需要制作一个应用程序,其中有许多用户具有许多角色,并且应该有三个向客户端发送通知的渠道 1.公共(用于所有人) 2.私人(向个人发送通知) 3.组和子组(向某个组或子组的成员发送通知)

问题是我无法理解Signal中的用户差异,也无法理解组的概念


任何人请给我指点一下

首先,你可以开始阅读关于小组的内容。然后,您可以阅读,以便能够为每个角色创建组和管理用户

您可以做的是,当客户端连接到中心时,假设您知道用户角色(使用上下文和授权),您将把他们添加到这3个组中

这样就很容易向这些群体发送信息,在stackOverflow和互联网上到处都有这样的例子

希望这对你有帮助

代码示例:

//
///在与集线器建立新连接时调用。
/// 
///表示异步操作的。
公共覆盖异步任务OnConnectedAsync()
{
//1.将使用添加到公共组
等待this.Groups.AddToGroupAsync(this.Context.ConnectionId,“PublicGroup”);
//2.将用户添加到私人频道,单人
等待this.Groups.AddToGroupAsync(this.Context.ConnectionId,this.Context.User.Identity.Name);
if(this.Context.User.IsInRole(“Admin”))
{
//3.将用户添加到管理组
等待this.Groups.AddToGroupAsync(“Admin”,this.Context.ConnectionId);
}
//添加到其他组。。。
等待base.OnConnectedAsync();
}