Ok, donc voici une erreur aléatoire. J'ajoute dynamiquement des images à une page html. Les images sont sur un autre serveur dont je n'ai pas le contrôle. Les images sont nommées quelque chose comme ceci: imageName10.jpg imageName11.jpg imageName13.jpg imageName14.jpg imageName16.jpg imageName17.jpg imageName19.jpg.Net WebRequest Échoue tout le temps après la première défaillance
permet de prendre la liste des images ci-dessus. Je veux obtenir toutes les images disponibles, mais je ne sais pas combien il y en a. Je sais qu'il commence par la chaîne "imageName", a un nombre entre 10 et 20 et se termine par la chaîne ".jpg". J'ai décidé de créer une boucle de 10 à 20 en créant le nom de l'image et en ajoutant les balises d'image à mon code HTML. Cela fonctionne, mais je ne veux pas ajouter de liens brisés, donc je veux d'abord vérifier si l'image existe. Pour ce faire, j'ai utilisé un WebRequest pour obtenir l'URL de l'image avec un délai de 5 secondes. Si elle expire, elle saute essentiellement sur le lien et continue la boucle.
String dynamicHtmlStr = String.Empty;
dynamicHtmlStr += "<TABLE>";
WebRequest webReq = null;
WebResponse webResp = null;
for (int i = 10; i < 20; i++)
{
try
{
webReq = WebRequest.Create("http://www.someurl.com/image/imageName" + i + ".jpg");
webReq.Timeout = 5000;
webResp = webReq.GetResponse();
dynamicHtmlStr += "<TR>";
dynamicHtmlStr += "<TD>";
dynamicHtmlStr += "<IMG http://www.someurl.com/image/imageName" + i + ".jpg"\">";
dynamicHtmlStr += "</TD>";
dynamicHtmlStr += "</TR>";
}
catch (Exception)
{
}
}
dynamicHtmlStr += "</TABLE>";
return dynamicHtmlStr;
Ma question est la suivante: Après WebRequest échoue la première fois. toutes les autres demandes Web après cela semblent échouer aussi. Par exemple, prenez la liste des images ci-dessus. La boucle commence à 10. Elle fait une requête web pour voir si "imageName10.jpg" existe, obtient une bonne réponse, j'ajoute la chaîne html à la variable dynamicHtmlStr. Il boucle à nouveau, cette fois sur 11 et tout va toujours bien. Ensuite, nous passons à 12. 12 est faux et n'ajoute pas au dynamicHtmlStr car il n'existe pas, ce qui est correct. Nous passons à 13 qui existe, mais cela échoue aussi et toutes les autres demandes de Web après cela, indépendamment de si elle existe ou non.
Cela n'a aucun sens pour moi. Est-ce que je fais quelque chose de mal?
Merci pour les conseils sur le StringBuilder. Je vais essayer le HttpWebRequest/HttpWebResponse et voir ce qui se passe –
Mon problème était que je ne fermais pas le flux de réponse. Merci. –
Après avoir fait cela, je reçois toujours ce problème ... –