2017-10-19 55 views
0

J'ai une application SignalR et une application console. Je lance mon application SignalR sur IIS.SignalR Hébergé chez w. Owin IIS - Réponses nulles connectées mais recevantes

J'ai une application console qui se connecte, et devrait imprimer des messages assez basiques lors de la réception d'une réponse.

Localement, tout cela fonctionne très bien.

Lorsque je publie l'application SignalR à mon dev. boîte, je suis soudainement incapable de recevoir des messages en provenance du hub.

Mon application de la console appelle la méthode hub « CaptureComplete »

 //notify that a specific camera has completed a capture 
     public void CaptureComplete(string captureId) 
     { 
      var g = Guid.NewGuid(); 
      Clients.All.cameraCaptureCompleteEvent(g.ToString()); 
     } 

La méthode ci-dessus doit retourner un GUID comme une chaîne à mon application de la console.

Mon application de console, bien que connectée au concentrateur SignalR, reçoit une réponse nulle.

enter image description here

Suis-je manque quelque chose évidente? Pourquoi cela fonctionne-t-il localement, mais pas dans un environnement de développement/hébergé?

Répondre

0

CaptureComplete est une méthode void donc il ne renvoie aucun résultat et par conséquent task.Result est null. Si votre CaptureComplete a renvoyé une valeur, vous pourrez obtenir la valeur en utilisant task.Result. La chaîne que vous diffusez aux clients avec Clients.All.cameraCaptureCompleteEvent(g.ToString()); sera disponible dans le rappel de la méthode côté client cameraCaptureCompleteEvent. Pour vous abonner à ce rappel, vous devez appeler:

myHub.On<string>("cameraCaptureCompleteEvent", s => Console.WriteLine);