我有一个.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/