【问题标题】:How can I fix the null of Context.QueryString in the OnDisconnected in SignalR (Asp.net Core)?如何修复 SignalR(Asp.net Core)中 OnDisconnected 中 Context.QueryString 的空值?
【发布时间】:2017-05-18 16:50:48
【问题描述】:

我已将 SignalR 与 Asp.Net Core 一起使用。

我尝试在名为OnDisconnected 的方法中获取QueryString,但我只得到null 异常。

如何解决这个异常?

我试过以下代码:

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

            return base.OnDisconnected(stopCalled);
        }

【问题讨论】:

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


    【解决方案1】:

    如果 url 中没有带有 tokenKey 的查询字符串参数,Microsoft.AspNet.SignalR.Hosting.INameValueCollectionContext.QueryString 是)将返回 null。假设是这种情况,当您尝试在 null 引用上调用 .ToString() 时,恰好会抛出 NullReferenceException

    为什么你首先要在已经是字符串的东西上调用.ToString()?它会返回与您调用它的字符串完全相同的字符串。只需删除.ToString()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-30
      • 1970-01-01
      相关资源
      最近更新 更多