Ich arbeite mit SignalR & MVC. Der Code, den ich nachgeschlagen habe, verbindet den Benutzer tatsächlich mit dem Hub beim Start.Verbinden mit SignalR nach Login oder Verzögerte Verbindung mit SignalR
[assembly: OwinStartup(typeof(Uno.Hubs.Startup))]
namespace ChatTBox
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
// For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=316888
app.MapSignalR();
}
}
}
Allerdings muss ich den Benutzer SignalR verbinden, nachdem er sich erfolgreich angemeldet hat und dann zu halten und die Liste der verbundenen Benutzers signiert anzuzeigen. Wie geht das?
Ok, was ich verstanden habe, dass ich die Verbindung erstellen und es aufrufen sollte, nachdem der Benutzer sich erfolgreich am Portal angemeldet hat. Aber wie verwalte ich Anrufe an einzelne Absender statt Massensendungen? – Salman
Überschreiben Sie in Ihrer Hub-Klasse auf dem Server die Ereignisse OnConnected und OnDisconnected, und bewahren Sie eine statische Auflistung von Verbindungs-IDs mit der entsprechenden Benutzer-ID auf. Ich habe ein statisches Wörterbuch der Verbindungs-ID zu Benutzernamen für ähnliche Zwecke verwendet. Damit fügen Sie einen Benutzer mit der Context.ConnectionId-Eigenschaft im Hub hinzu oder entfernen ihn, wodurch Sie die Verbindungs-ID beim Senden an einen Client verwenden können: Clients.Client (connectionId) .addMessageToPage (name, msg). – reckface