我从一个Web应用程序发送Exception
并将其发送到另一个Web应用程序中。
在这种情况下,如何从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;
}
答案 0 :(得分:0)
确定。你只需要创建一个类:
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;
}
}