Может кто-то помочь прояснить использование свойства «StatusCode» в HttpWebResponse и WebException?C# HttpWebRequest.GetResponse - как используется использование StatusCode для ответа на исключение vs webexception?
Например, кажется, что если:
а) не является исключением, то HttpWebResponse будет иметь StatusCode, который может иметь несколько значений, которые указывают как: - успех (например, OK, Принимается и т.д.) - недостаточность (например, UseProxy, RequestTimeout и т.д.)
б) есть WebExeption бросок, который сам по себе есть объект ответа, который снова имеет StatusCode (который я предполагаю, основана на том же HttpStatusCode Перечисления.
Вопрос 1 - Существует ли какая-либо согласованность с точки зрения того, что StatusCode приведет к возникновению WebException (и вы получите деталь в пределах исключения), в отличие от того, который вернется без исключения, но вы узнаете результат в StatusCode объект ответа?
Вопрос 2 - Или более конкретно, что это код pseduo (или C# сам код) для пытаться обрабатывать httpWebRequest.GetResponse вызов таким образом, что вы хотите провести различие между категориями ответов для пользователя:
настройки прокси-сервера/прокси вопрос => так можно сказать пользователю, чтобы установить параметры прокси-сервера
проблема подключения/веб-сервер вниз => так что пользователь знает об этом
Ошибка на стороне сервера (например, сервер есть, но есть обработки запроса вопрос - например, содержание не существует) => так что пользователь может поднять с сайтом менеджером
успех делом (и я полагаю, что это будет больше, чем просто КИ) => па (успех случай)
благодаря
Но сколько возможных кодов возврата могло бы быть для случая без исключения, когда вы действительно получите ответ обратно? Например, существует ряд различных кодов ответов в диапазоне 200. Или первый ответ здесь правильный, так как для случая отсутствия исключения возможны только 200 или 0? – Greg
Ответ обновлен. – ata
Спасибо. Значит, это означает, что я предполагаю, что вы можете взять пример: успешный ответ (т. Е. Исключение), но код состояния 300, где в целом тогда это все еще проблема для пользователя? То есть, чтобы проверить подлинный успех, вам нужно проверить для WebException + проверить код состояния в 200 диапазонах тогда? – Greg