Dois-je cocher la réponse de WebClient.UploadFile à savoir si le téléchargement a réussi?
Je n'ai jamais utilisé ce Service avant et je ne suis pas sûr si je devrais vérifier la réponse du serveur pour savoir si le téléchargement a réussi ou si je peux laisser le fichier téléchargé s'il n'est pas une exception.
Si je doit vérifier la réponse comment puis-je le faire? L'analyse resposeHeaders propriété?
Merci d'avance.
OriginalL'auteur Ignacio Soler Garcia | 2010-12-15
Vous devez vous connecter pour publier un commentaire.
La
UploadFile
méthode retourne unbyte[]
qui contient la réponse du serveur distant a renvoyé. Selon le serveur gère les réponses aux demandes de téléchargement (et les conditions d'erreur (voir la note 1 ci-dessous), vous aurez besoin de vérifier que la réponse. Vous pouvez obtenir la chaîne de réponse, par la conversion d'une chaîne, par exemple, cela permettra d'écrire la réponse à la fenêtre de la console:Qui disait que si le serveur distant renvoie rien d'autre qu'un
HTTP 200
(c'est à dire de succès) l'appel à UploadFile va jeter un WebException. Ce que vous pouvez les attraper et de les traiter avec elle de la façon la mieux adaptée à votre application.Afin de mettre tous ensemble
Note 1 Comme un exemple j'ai un fichier de téléchargement de service qui ne sera jamais question d'autre chose qu'un code HTTP 200, toutes les erreurs sont pris à l'intérieur du service, et ce sont ces "analysé" dans une structure XML qui est retournée à l'appelant. L'appelant analyse alors que XML pour valider que le téléchargement a réussi.
OriginalL'auteur MrEyes
Si le téléchargement renvoie une StatusCode d'autres de 200 (ou 200), WebClient.UploadFile devrait soulever une WebException.
Comme un bouchon, j'ai un code de référence de la bibliothèque sur BizArk qui comprend un WebHelper classe qui le rend facile de télécharger de multiples fichiers et les valeurs d'un formulaire en même temps. Le projet est appelé BizArk.
OriginalL'auteur Brian
Dans le exemples fourni sur le site msdn de vérifier la réponse de sorte qu'il pourrait être bon style, mais j'ai tendance à ne pas le faire moi-même et ne l'ai pas encore brûlé.
OriginalL'auteur hanDerPeder
Vous pouvez également utiliser la méthode async
UploadFileAsync
et les résultats de la vérification dans le gestionnaire d'événementUploadFileCompletedEventHandler
survenue de l'événementUploadFileCompleted
. Vous avez probablement ajouter du code supplémentaire pour la synchronisation.OriginalL'auteur honzakuzel1989