2016-04-17 5 views
2

Ich habe das SignalR mit Asp.Net Core verwendet.Wie kann ich die Null von Context.QueryString in der OnDisconnected in SignalR (Asp.net Core) beheben?

Ich habe versucht, die QueryString in der Methode namens OnDisconnected, aber ich bekomme nur die null Ausnahme.

Wie kann ich diese Ausnahme beheben?

Ich habe folgenden Code versucht:

public override Task OnDisconnected(bool stopCalled) 
     { 
      const string tokenKey = "token"; 
      var token = Context.QueryString[tokenKey].ToString(); <- NULL 

      return base.OnDisconnected(stopCalled); 
     } 

Antwort

0

Die Microsoft.AspNet.SignalR.Hosting.INameValueCollection (die Context.QueryString ist) den Wert null zurück, wenn es keine Abfrage-String-Parameter mit Ihrem tokenKey in der URL ist. Angenommen, dies ist der Fall, wird die NullReferenceException zufällig ausgelöst, wenn Sie versuchen, .ToString() auf den Nullverweis aufzurufen.

Warum an erster Stelle rufen Sie .ToString() auf etwas, das bereits eine Zeichenfolge ist? Es wird Ihnen die gleiche Zeichenfolge zurückgeben, mit der Sie es aufrufen. Entfernen Sie einfach die .ToString().