Я спорю сам с собой о том, как обрабатывать исключения при вызове конечной точки rest-API. Я десериализую контент непосредственно из потока, чтобы избежать выделения строки. Проблема, которая возникает, заключается в том, что если сервер возвращает внутреннюю ошибку сервера (500) с некоторой информацией в содержимом, моя десериализация завершается неудачно из-за JSON, и если я вызываю responseMessage.EnsureSuccessStatusCode(), я теряю информацию в содержимом.
Код: Выделить всё
var responseMessage = await _httpClient.SendAsync(request).ConfigureAwait(false);
responseMessage.EnsureSuccessStatusCode();
using (var stream = await responseMessage.Content.ReadAsStreamAsync().ConfigureAwait(false))
using (var streamReader = new StreamReader(stream))
using (var reader = new JsonTextReader(streamReader))
{
return _jsonSerializer.Deserialize(reader);
}
Как мне обрабатывать сведения об исключениях, которые могут существовать в Контенте?
Подробнее здесь:
https://stackoverflow.com/questions/612 ... se-asp-net