SignalR OnConnected 找不到合适的方法来覆盖?
SignalR OnConnected no suitable method found to overwrite?
我的 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 扩展覆盖的方法。
那是因为您要覆盖的方法是 OnConnectedAsync
。您可以在 https://docs.microsoft.com/aspnet/core/signalr/hubs?view=aspnetcore-5.0#handle-events-for-a-connection 阅读文档以获取更多信息。
此外,我建议使用 IDE 来编写代码,尤其是当您不熟悉它时,因为这样可以更容易地看到您要覆盖的方法。
我的 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 扩展覆盖的方法。
那是因为您要覆盖的方法是 OnConnectedAsync
。您可以在 https://docs.microsoft.com/aspnet/core/signalr/hubs?view=aspnetcore-5.0#handle-events-for-a-connection 阅读文档以获取更多信息。
此外,我建议使用 IDE 来编写代码,尤其是当您不熟悉它时,因为这样可以更容易地看到您要覆盖的方法。