Существует множество причин получить исключение httprequestex. Например, клиент не подключен к inte rnet, сервер не работает, домен не существует или в моем случае не работает поддомен. Можно ли различить guish между причиной исключения на стороне клиента (проблемы с подключением) и исключениями на стороне сервера, например, при отключенном сервере? Я использую HttpClient Syn c. WaitAndUnwrapException
из библиотеки AsyncEx.
private JObject Get(string url)
{
JObject getResponse = new JObject();
getResponse["error"] = (int)Error.None;
getResponse["message"] = "";
try
{
using (HttpClient client = new HttpClient())
{
Task<HttpResponseMessage> res1 = client.GetAsync(url + GetRequestRandomizer());
HttpResponseMessage res = res1.WaitAndUnwrapException();
if (res.IsSuccessStatusCode && res.StatusCode == HttpStatusCode.OK)
{
var responseContent = res.Content;
getResponse["error"] = (int)Error.None;
getResponse["message"] = responseContent.ReadAsStringAsync().Result;
}
else
{
getResponse["error"] = (int)Error.RequestError;
getResponse["message"] = "";
}
}
}
catch (HttpRequestException exception)
{
getResponse["error"] = (int)Error.NetworkError;
getResponse["message"] = "";
}
return getResponse;
}