Ho un'applicazione Web ASP.NET con una semplice pagina HTML e alcuni JavaScript per comunicare tramite SignalR. Funziona bene Ora sto cercando di chiamare un metodo su Hub da un altro progetto (nella stessa soluzione) e utilizzando l'API client .NET Signalr:SignalR 2.1.0: La connessione non è stata stabilita
var connection = new HubConnection("http://localhost:32986/");
var hub = connection.CreateHubProxy("MessageHub");
connection.Start();
hub.Invoke("SendMessage", "", "");
L'ultima riga causa InvalidOperationException: The connection has not been established.
ma sono in grado di connettersi all'hub dal mio codice JavaScript.
Come posso connettermi all'hub utilizzando il codice C#?
UPDATE
Nel momento in cui dopo aver scritto questo post, ho provato ad aggiungere .Wait()
e ha funzionato! Quindi questo farà:
var connection = new HubConnection("http://localhost:32986/");
var hub = connection.CreateHubProxy("MessageHub");
connection.Start().Wait();
hub.Invoke("SendMessage", "", "");
Terza opzione: 'ContinueWith'. Questo è essenzialmente il modo in cui viene eseguito dal lato client, quindi aggiunge un po 'di coerenza tra gli usi di JS e C#. – Corey