1

我收到 Klocwork 错误,

在第 101 行调用函数“GetTokenResponseAsync”返回的引用“this.GetTokenResponseAsync(cancellationToken)”可能为空,并将在第 101 行取消引用

这是代码,

public async Task<SecurityToken> AcquireTokenAsync(CancellationToken cancellationToken)
    {
        cancellationToken.ThrowIfCancellationRequested();

        var tokenResponse = await GetTokenResponseAsync(cancellationToken).ConfigureAwait(false);

        return tokenResponse;
    }

这意味着tokenResponse可以为空吗?如何解决这个问题?

4

1 回答 1

1

你可以通过初始化tokenResponse一个值来避免这个错误,比如0在它赋值给await GetTokenResponseAsync(cancellationToken).ConfigureAwait(false).

由于它被分配给一个似乎在异步线程上的值,因此不能保证它会永远保存一个值。

于 2018-11-01T10:13:35.443 回答