Est-ce que quelqu'un peut aider à clarifier l'utilisation de la propriété "StatusCode" dans HttpWebResponse et WebException?C# HttpWebRequest.GetResponse - Comment l'utilisation de StatusCode est-elle gérée pour une réponse non-exception vs webexception?
Par exemple, il semble que si:
a) il ne fait pas exception, le HttpWebResponse aura un StatusCode qui pourrait avoir des valeurs qui indiquent à la fois: - succès (par exemple, OK, accepté etc) - l'échec (par exemple UseProxy, RequestTimeout etc)
b) il y a une touche de WebExeption, qui a lui-même un objet de réponse qui a encore une StatusCode (qui je suppose est basé sur le même HttpStatusCode Enumeration.
question 1 - Existe-t-il une cohérence quant à ce que StatusCode va déclencher une exception WebException (et vous récupérerez le détail dans l'exception), par rapport à qui reviendrait sans exception, mais vous découvrirez le résultat dans le StatusCode de l'objet de réponse?
Question 2 - Ou plus précisément ce qui est le code pseduo (ou code C# lui-même) pour essayer de gérer un appel HttpWebRequest.GetResponse tel que vous voulez faire la différence entre les catégories de réponses pour l'utilisateur:
paramètres proxy/proxy question => peut donc dire utilisateur de fixer les paramètres de proxy
problème de connectivité/serveur Web vers le bas => si l'utilisateur est au courant de cette
erreur côté serveur (par ex. serveur est là, mais il y a un problème de gestion de la demande - par exemple le contenu pas là) => si l'utilisateur peut augmenter avec le gestionnaire de site
cas de succès (et je suppose que ce serait plus que le OK) => na (affaire succès)
grâce
Mais combien de codes retour possibles peut-il y avoir pour le cas de non-exception quand vous obtenez une réponse directement? Il y a un certain nombre de codes de réponse différents dans la gamme 200 par exemple. Ou la première réponse est-elle correcte en ce sens que seulement 200 ou 0 sont possibles pour le cas de non-exception? – Greg
Réponse mise à jour. – ata
Merci - cela signifie que je suppose que vous pouvez par exemple: réponse réussie (c'est-à-dire pas d'exception) mais un code d'état de 300 où dans l'ensemble, c'est toujours un problème pour l'utilisateur? C'est alors pour vérifier le vrai succès, vous devez vérifier WebException + vérifier le code d'état dans la gamme 200 alors? – Greg