Was ich habe, ist die typische Konfiguration, das ist meine Hub-Klasse
Code: Select all
using Microsoft.AspNetCore.SignalR;
namespace LocalReads.API.Hubs {
public class NotificationHub : Hub
{
public async Task SendNotification(string message)
{
await Clients.All.SendAsync("ReceiveNotification", message);
}
public override Task OnConnectedAsync()
{
Console.WriteLine("Client connected: " + Context.ConnectionId);
return base.OnConnectedAsync();
}
}
}
Code: Select all
builder.Services.AddSignalR();
//... some code
app.MapHub("notification-hub");

Das Seltsame passiert beim Senden einer Nachricht, wie Sie sehen, verwende ich die folgende Nachricht:
Code: Select all
{"arguments":["Hey"],"invocationId":"0","target":"SendNotification","type":1}\u001e

aber überhaupt keine Antwort vom Hub, selbst mein Haltepunkt in Visual Studio wird nicht erreicht.
Ich dachte, es könnte sein, dass die Nachricht das nicht verwendet rechte Trennzeichen, also habe ich eines verwendet, das für alle zu funktionieren schien:
Code: Select all
{ "arguments": ["just a test"], "target": "HubMethod", "type": 1 }
Wenn ich es mit dieser Nachricht versuche, wird die Verbindung zum Hub einfach mit der folgenden Fehlermeldung getrennt:

Also schaute ich mir ein Video von Milan Jovanovic auf YouTube an ( lud den gleichen Code herunter, den er geschrieben hatte, verwendete die gleiche Nachricht in Postman und ich hatte genau den gleichen Fehler, genau wie in meinem Projekt, auch wenn ich die gleichen Schritte wie Milan in seinem Video gemacht habe.
Ich verwende dieses Nuget Paket, mit net8.0
Code: Select all
Code: Select all
Mobile version