小编And*_*rew的帖子

异步异常未被捕获

我有一个引用以下代码的Windows服务.使用下面的方法,我的代码包含一个try..catch块,但它似乎并没有catch RefereshTokenException认为是thrown在下面的方法.显然我的理解async是不正确的.

private async void RefreshTokens()
{
    try
    {
        var cognito = new CognitoApi();
        var response = cognito.TokenRefresh(_refreshToken);

        if (response.HttpStatusCode == HttpStatusCode.OK)
        {
            _idToken = new AwsToken(response.AuthenticationResult.IdToken);
            _accessToken = new AwsToken(response.AuthenticationResult.AccessToken);
        }
        else
        {
            await _signIn(_credentials.SiteId, _credentials.LocationId, null);
        }
    }
    catch (NotAuthorizedException)
    {
        await _signIn(_credentials.SiteId, _credentials.LocationId, null);
    }
    catch (Exception ex)
    {
        throw new RefreshTokenException("Failed refreshing tokens.", ex);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是调用的代码 RefreshTokens

public async void Process(QueueMessage queueMessage, Action<QueueMessage> retryAction)
{
    _processingCounter.Increment();

    try …
Run Code Online (Sandbox Code Playgroud)

c# asynchronous

0
推荐指数
1
解决办法
80
查看次数

错误57 - 这是什么意思?

有谁知道错误代码57是什么意思?我看了谷歌,但它告诉我,这是一个错误的网卡 - 我不知道这是怎么可能的.运行此函数时出现错误:

if (CryptVerifySignature(
    hHash,
    signatureContents,
    dwSigLen,
    phKey,
    NULL,
    0))
{
    printf("The signature has been verified.\n");
}
else
{
    MyHandleError("Error during CryptVerifySignature.");
}
Run Code Online (Sandbox Code Playgroud)

MyHandleError

void MyHandleError(char *s)
{
fprintf(stderr, "An error occurred in running the program. \n");
fprintf(stderr, "%s\n", s);
fprintf(stderr, "Error number %x.\n", GetLastError());
fprintf(stderr, "Program terminating. \n");
exit(1);
Run Code Online (Sandbox Code Playgroud)

}

c++

-2
推荐指数
1
解决办法
286
查看次数

标签 统计

asynchronous ×1

c# ×1

c++ ×1