从 http flurl 客户端捕获异常时出现问题

Fab*_*ing 2 winforms flurl asp.net-core

我有一个 .net5 的 Rest api,它有一个全局异常过滤器,并在出现异常时返回一个 ErrorMessage 对象。我从 WinForms .net Framework 4.8 应用程序调用 api,并从服务器调用错误请求,从客户端我得到一个 System.AggregateException 异常,根据 flurl 文档,它应该是 FlurlHttpException。我尝试使用 HttpClient 进行调用,一切都按预期工作,但我发现使用 flurl 更容易,所以我想找到问题的解决方案,如果有人知道如何做到这一点并想要分享它伟大的

        try
        {
            var result = (serverUrl)
                         .AppendPathSegment(endPoit)
                         .PostJsonAsync(new { Email = email, Password = password }).Result;
            if (result.ResponseMessage.IsSuccessStatusCode)
            {
                var aut = result.GetJsonAsync<Autorizacion>().Result;
            }
        }
        catch (FlurlHttpException ex)
        {
            var error = ex.GetResponseJsonAsync<ErrorMessage>();
        }
Run Code Online (Sandbox Code Playgroud)

Ale*_*der 5

首先,更喜欢使用异步等待而不是阻塞Result调用。但是,如果您必须进行阻塞调用,请使用GetAwaiter().GetResult()来获取未包装的异常。