如何在SignalR(Asp.net Core)中的OnDisconnected中修复Context.QueryString的null?

时间:2016-04-17 18:57:44

标签: signalr asp.net-core signalr-hub

我已将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);
        }

1 个答案:

答案 0 :(得分:0)

如果网址中没有Microsoft.AspNet.SignalR.Hosting.INameValueCollection的查询字符串参数,则Context.QueryStringtokenKey为)将返回null。假设是这种情况,当您尝试在空引用上调用NullReferenceException时,会发生.ToString()

为什么首先要对已经是字符串的内容调用.ToString()?它会返回你正在调用它的字符串。只需删除.ToString()

即可