gpt4 book ai didi

c# - 获取token时如何解析 "possible System.NullReferenceException"

转载 作者:行者123 更新时间:2023-12-02 23:27:50 24 4
gpt4 key购买 nike

我正在遵循 "Azure-Sample" 中提供的示例代码获取调用 Microsoft Graph Api 的 token 。但 Resharper 在等待 app.AcquireTokenForClient(scopes) .ExecuteAsync(); 中建议“可能的 System.NullReferenceException”;如何解决NullReference异常?

克隆代码并查看“Possible System.NullReferenceException”

AuthenticationResult result = null;
try
{
result = await app.AcquireTokenForClient(scopes)
.ExecuteAsync();
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Token acquired");
Console.ResetColor();
}
catch (MsalServiceException ex) when (ex.Message.Contains("AADSTS70011"))
{
// Invalid scope. The scope has to be of the form "https://resourceurl/.default"
// Mitigation: change the scope to be as expected
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Scope provided is not supported");
Console.ResetColor();
}

enter image description here

Resharper 建议“可能的 System.NullReferenceException”,知道如何解决吗?

最佳答案

ReSharper 中启用了“悲观”值分析模式,它认为一切都可以为“null”,除非显式检查 null 或使用“NotNull”或“ContractAnnotation”属性进行注释。处理这种情况的一些选项:

  1. 为“AcquireTokenForClient”提供外部注释
  2. 将“app.AcquireTokenForClientAsync(scopes)”提取到局部变量并检查其是否为 null:

    var 任务 = app.AcquireTokenForClientAsync(scopes);if (task == null) throw new Exception();结果=等待任务;

  3. 启用“乐观”值(value)分析模式

关于c# - 获取token时如何解析 "possible System.NullReferenceException",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57224468/

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