Давайте предположим, что у меня есть следующие переменные:Проверка HttpStatusCode представляет собой успех или неуспех
System.Net.HttpStatusCode status = System.Net.HttpStatusCode.OK;
Как я могу проверить, если это код состояния Успех или неудача один?
Например, я могу сделать следующее:
int code = (int)status;
if(code >= 200 && code < 300) {
//Success
}
Я также могу иметь какой-то белый список:
HttpStatusCode[] successStatus = new HttpStatusCode[] {
HttpStatusCode.OK,
HttpStatusCode.Created,
HttpStatusCode.Accepted,
HttpStatusCode.NonAuthoritativeInformation,
HttpStatusCode.NoContent,
HttpStatusCode.ResetContent,
HttpStatusCode.PartialContent
};
if(successStatus.Contains(status)) //LINQ
{
//Success
}
Ни один из этих вариантов не убедит меня, и я надеялся, что для .NET класс или метод, который может это сделать для меня, например:
bool isSuccess = HttpUtilities.IsSuccess(status);
вам нужно сделать 'Int код = (ИНТ) Response.StatusCode' оттуда нужно будет создать свой собственный' Enum' проверить здесь для работы примера http://stackoverflow.com/questions/1330856/ get-http-status-code-number-200-301-404-etc-from-httpwebrequest-and-ht – MethodMan
Вы случайно используете класс 'HttpClient'? – dcastro
@ dcastro Нет, извините. Я использую * высокий уровень * API, который может (или не может) использовать его внутренне. API предоставляет код состояния ответа, но не раскрывает внутренний 'HttpResponseMessage', например –