【问题标题】:SignalR OnConnected no suitable method found to overwrite?SignalR OnConnected 找不到合适的方法来覆盖?
【发布时间】:2020-11-23 22:32:57
【问题描述】:

我的 OnConnected 说:“NotificationHub.OnConnected()”:找不到合适的方法来覆盖

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.SignalR;

namespace NotificationManager.Push.Hubs
{
    [Authorize]
    public class NotificationHub : Hub
    {
        public async Task SendNotificationAsync(List<string> users, string title, string message)
        {
            await Clients.Users(users).SendAsync("ReceiveNotification", title,  message);
        }

        public override Task OnConnected()
        {
            string name = Context.User.Identity.Name;

            Groups.AddToGroup(Context.ConnectionId, name);

            return base.OnConnected();
        }
    }
}

我已导入 SignalR,但我看不出它如何找不到从 Hub 扩展中覆盖的方法。

【问题讨论】:

    标签: asp.net-core signalr signalr-hub asp.net-core-signalr


    【解决方案1】:

    那是因为您要覆盖的方法是OnConnectedAsync。您可以在https://docs.microsoft.com/aspnet/core/signalr/hubs?view=aspnetcore-5.0#handle-events-for-a-connection 阅读文档以获取更多信息。

    另外,我建议使用 IDE 编写代码,尤其是在您不熟悉它的情况下,因为这样可以更轻松地查看您尝试覆盖的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多