我已将SignalR与Asp.Net Core一起使用。
我已尝试在名为QueryString
的方法中获取OnDisconnected
,但我只获得null
例外。
如何修复此异常?
我尝试过以下代码:
public override Task OnDisconnected(bool stopCalled)
{
const string tokenKey = "token";
var token = Context.QueryString[tokenKey].ToString(); <- NULL
return base.OnDisconnected(stopCalled);
}
答案 0 :(得分:0)
如果网址中没有Microsoft.AspNet.SignalR.Hosting.INameValueCollection
的查询字符串参数,则Context.QueryString
(tokenKey
为)将返回null。假设是这种情况,当您尝试在空引用上调用NullReferenceException
时,会发生.ToString()
。
为什么首先要对已经是字符串的内容调用.ToString()
?它会返回你正在调用它的字符串。只需删除.ToString()
。