c# - 即使值为 null,StringValues 计数也显示 1
问题描述
我正在从QueryString
我的 ASP.NET Core 应用程序中读取一个令牌,但我对某些事情感到困惑。
即使StringValues
有null
值,它Count
也显示 1 - 见下文。
我也试过StringValues.IsNullOrEmpty(token)
了,也失败了。我如何可靠地检查其中是否StringValues
真的有有用的数据?
更新:读取值的代码如下:
if(path.StartsWith("/im") && context.Request.Query.TryGetValue("access_token", out var token))
{
context.Token = token;
}
我正在从我的客户端发送一个 access_token,如下所示:
const connection = new signalR.HubConnectionBuilder()
.withUrl("/myhub?AUTHORIZATION=" + _token)
.configureLogging(signalR.LogLevel.Information)
.build();
解决方案
这种情况下的问题是,即使用户已登录,您也要附加 access_token。因此,当您访问它时,它的值为“null”,这是从客户端发送的。
您只需要有条件地附加值
if (accessToken) {
hubUrl += '?authToken' +'=' + accessToken;
}
this._hubConnection = new HubConnectionBuilder()
.withUrl(hubUrl)
.build();
推荐阅读
- sql - 使用define来存储select语句的结果
- jquery - jQuery - 移动设备上的特定指令
- node.js - AWS lambda 中的 Google 驱动 API
- angularjs - 如何在我的 angularjs 服务的 jasmine 中覆盖 this.service
- javascript - 如何从 XML 创建注入 React 组件
- c++ - 如何将 ampl 中的集合表示为 C++ 中的向量?
- python - 在 Python 中定义范围命令的条件
- scala - Scala中带有问号的URL模式匹配
- azure - 循环遍历文件夹目录中的每个文件并检查日期 Azure Data Factory V2 - 错误代码
- tomcat - Tomcat - 异步请求的 WELD 解决方法