从 http flurl 客户端捕获异常的问题

Problems catching exception from http flurl client

我休息一下 api .net5,它有一个全局异常过滤器,returns 一个 ErrorMessage 对象以防出现异常。 我从 WinForms .net Framework 4.8 应用程序调用 api,从服务器调用 badrequests,从客户端我得到一个 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>();
        }

首先,更喜欢使用 async await instead of blocking Result call. But if you have to go with blocking calls then use GetAwaiter().GetResult() 来获取展开的异常。