代码之家  ›  专栏  ›  技术社区  ›  IntoNET

信号集线器在访问组时引发异常

  •  1
  • IntoNET  · 技术社区  · 3 年前

    这是我的密码

    public interface IJobClient
    {
        Task DisplayMessage(string message);
    }
    
    public class JobHub : Hub<IJobClient>
    {
        public const string GROUP_NAME = "JobGroup";
    
        private readonly ILogger<JobHub> logger;
    
        public JobHub(ILogger<JobHub> logger)
        {
            this.logger = logger;
        }
    
        public override async Task OnConnectedAsync()
        {
            await Groups.AddToGroupAsync(Context.ConnectionId, GROUP_NAME);
    
            try
            {
                await Clients.Group(GROUP_NAME).DisplayMessage($"{Context.ConnectionId} has joined the group {GROUP_NAME}.");
            }
            catch (Exception e)
            {
                logger.LogError("OnConnectedAsync raised exception {0} with message {1} at {2}", e.GetType(), e.Message, e.StackTrace);
            }
    
            await base.OnConnectedAsync();
        }
    
        public override async Task OnDisconnectedAsync(Exception exception)
        {
            await Groups.RemoveFromGroupAsync(Context.ConnectionId, GROUP_NAME);
            await base.OnDisconnectedAsync(exception);
        }
    
        public async Task SendGroupMessage(string message)
        {
            try
            {
                await Clients.Group(GROUP_NAME).DisplayMessage(message);
            }
            catch (Exception e)
            {
                logger.LogError("SendGroupMessage raised exception {0} with message {1} at {2}", e.GetType(), e.Message, e.StackTrace);
            }
        }
    }
    

    客户端连接正常。它会影响群体。AddToGroupAsync()这很好,在下一行,它试图向刚刚添加连接的组发送消息,结果出现了一个空异常。

    有人能帮忙吗?

    0 回复  |  直到 3 年前