从另一个应用程序中的 HttpRequestException 获取值

Get Values from HttpRequestException in another application

我从一个网络应用程序发送 Exception 并在另一个网络应用程序中获取它。 在这种情况下,如何从 HttpRequestException 获取值?

发送自:

context.Response = new HttpResponseMessage(apiError.StatusCode)
{
    Content = new ObjectContent<ApiError>(apiError,
       new JsonMediaTypeFormatter(), @"application/json")
};
return context;

进入另一个:

catch (HttpRequestException e)
{
    this.logger.LogError(
      string.Format("Ошибка запроса {0}", requestUri.AbsoluteUri),
      LogCategoryRepository.ApiCashdesk,
      e);
    throw;
}

好的。您只需创建一个 class:

 public class ErrorDetails
 {
    public string Details { get; set; }
 }

并使用它:

try
            {
                using (var response = await client.SendAsync(request).ConfigureAwait(false))
                {
                    if(!response.IsSuccessStatusCode)
                    {
                        ***var error = await response.Content.ReadAsAsync<ErrorDetails>().ConfigureAwait(false);***
                        throw new HttpRequestException(error.Details);
                    }
                    response.EnsureSuccessStatusCode();
                    var result = await response.Content.ReadAsAsync<TResponse>().ConfigureAwait(false);
                    return result;
                }
            }