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

标签 winforms asp.net-core flurl

我有一个.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>();
        }

最佳答案

首先,更喜欢使用 async await而不是阻止 Result 调用。但如果您必须阻止调用,请使用 GetAwaiter().GetResult()获取未包装的异常。

关于winforms - 从 http flurl 客户端捕获异常时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64949391/

相关文章:

.net - 无需按 ALT 键即可执行加速器(助记键)

c# - 如何查看 mongoDB 中的任何更改(新行)?

c# - Asp.NET Core 自定义 Input Tag Helper 呈现重复的复选框

c# - 使用 Flurl 通过 POST 嵌套值

c# - 使用 Flurl 从 JSON 解析为对象

c# - 使用 Flurl 发布多个标题

c# - 如何更改 C# .NET 3.5 中进度条的颜色?

c# - 从 c# Winform 运行 20 分钟的 Excel 宏

c# - 我应该如何在 ASP.NET Core 中为具有多个 URI 端点的资源实现 REST API Controller ?

angularjs - ASP.NET Core API - 登录和防伪 token