我遇到Klocwork错误,
在第101行从对函数'GetTokenResponseAsync'的调用返回的引用'this.GetTokenResponseAsync(cancellationToken)'可能为null,并在第101行被取消引用
这是代码
public async Task<SecurityToken> AcquireTokenAsync(CancellationToken cancellationToken)
{
cancellationToken.ThrowIfCancellationRequested();
var tokenResponse = await GetTokenResponseAsync(cancellationToken).ConfigureAwait(false);
return tokenResponse;
}
这是否意味着tokenResponse
可以为空?该如何解决?
答案 0 :(得分:1)
通过将tokenResponse
赋给0
的行上方的行将await GetTokenResponseAsync(cancellationToken).ConfigureAwait(false)
初始化为诸如T[K]
之类的值,可以避免该错误。
由于已将其分配给一个似乎在异步线程上的值,因此不能保证它会一直保存该值。