gpt4 book ai didi

c# - 如果 header 不存在,如何获取空值

转载 作者:行者123 更新时间:2023-12-04 18:42:36 27 4
gpt4 key购买 nike

我正在使用请求上下文来获取名为“ token ”的 header 的值。

 var token = context.request.Headers.GetValues("Token")

现在如果标题存在。这一切都有效,但现在如果标题不存在,我希望它返回 null。但相反,它会引发异常 System.InvalidOperationExecption

我唯一的选择是尝试捕获它吗?

最佳答案

以下是如何检查 header 是否存在以及该值是否为空的示例。
这些示例使用 DotNet Core 3.1
检查它是否存在 - 不关心值:


if (context.HttpContext.Request.Headers.Any(h => h.Key.Equals("X-SOME-HEADER", StringComparison.InvariantCultureIgnoreCase))) {
// Success
_logger.LogInformation('Header found');
} else {
// Failure
_logger.LogWarning('Header not found');
}

检查它是否存在并输出值:
if (context.HttpContext.Request.Headers.TryGetValue("X-SOME-HEADER", out var token)) {
// Found header
_logger.LogInformation($"Header found. Null:[{!token.Any()}]")
} else {
// Failure
_logger.LogWarning('Header not found');
}

关于c# - 如果 header 不存在,如何获取空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22320944/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com