1

净核心项目。我有 azure AD 身份验证。我有用户上传文件的功能,一旦文件存储在天蓝色存储中,我想通过天蓝色信号 r 通知用户。我已经实现了这个流程,但我只想向上传文件的用户发送通知。目前,如果五个用户正在使用我的应用程序,那么只有一个用户上传了文件,那么我只想向该用户发送通知,而不是向所有经过身份验证的用户发送通知。

public class MapUploadNotificationHub : Hub
{
    public override Task OnConnectedAsync()
    {
        return Clients.Caller.SendAsync("broadcastMessage", "_SYSTEM_", $"{Context.User.Identity.Name} JOINED");
    }
    public void BroadcastMessage(string message)
    {
        Clients.Caller.SendAsync("broadcastMessage", message);
    }

    public void Echo(string message)
    {
        var echoMessage = $"{message} (echo from server)";
        Clients.Client(Context.ConnectionId).SendAsync("echo", echoMessage + " (echo from server)");
    }
}

这是我的集线器类,在下面的方法中我正在发送通知。

 await hub.Clients.All.SendAsync("BroadcastMessage", FileDetails);

当用户上传文件时,我只想向该用户发送通知,而不是向将使用应用程序的每个人发送通知。这种场景将如何工作我无法理解。当 Web 应用程序启动时,它是否使用唯一的连接 ID 或基于身份验证机制建立与服务器的连接。我完全糊涂了。有人可以帮助我理解这一点吗?任何帮助,将不胜感激。谢谢

4

0 回答 0