HttpWebRequest.KeepAlive = true;

Signaler
Messages postés
11
Date d'inscription
lundi 4 août 2003
Statut
Membre
Dernière intervention
3 mars 2004
-
Messages postés
11
Date d'inscription
lundi 4 août 2003
Statut
Membre
Dernière intervention
3 mars 2004
-
Bonjour..
j'ai fait un petit programme qui recupere des page internet, les parse, fait des actions, soumet des formulaire bien remplis etc, etc...
le probleme, c'est que a chaque nouvelle requete, je cree un nouveau HttpWebRequest que je rempli bien comme il faut pour faire ma requete..

j'essaie d'optimiser mon programme, et je m'interesse plus particulierement au membre KeepAlive de HttpWebRequest.
Si ma memoire est bonne, le Header Connection d'une requete HTTP permet de dire au serveur en face ce qu'il adviendra de la connection apres la reponse du serveur...
Close, Abort, ou KeepAlive, qui voudra dire que le serveur ne fermera pas la socket et attendra de nouvelles donnees.

ma question est:
en ayant specifier un KeepAlive a true, et apres avoir fait le GEtResponse() sur un HttpWebRequest genre
hwreq = WebRequest.Create("http://www.google.com");
hwreq.KeepAlive = true;
hwrep = hwreq.GetResponse();
...

comment je peut reutiliser le meme HttpWebRequest pour fair eune autre requete au server et obtenir une autre reponse????

merci...
--
Tommz

6 réponses

Messages postés
656
Date d'inscription
mercredi 22 août 2001
Statut
Membre
Dernière intervention
11 mars 2005
13
Tu en crées un autre c pas un souci non ?

[Membre du Labo .NET]
Messages postés
11
Date d'inscription
lundi 4 août 2003
Statut
Membre
Dernière intervention
3 mars 2004

oui, mais en en creant une autre, ca fait bien un 2eme connection.. comme je fait plusieurs requetes par secondes, je pense que ca serait plus optimiser de reutiliser la premiere connexion... non?
Messages postés
656
Date d'inscription
mercredi 22 août 2001
Statut
Membre
Dernière intervention
11 mars 2005
13
Mais est-ce que le protocol HTTP accepte de recevoir plusieurs requetes GET dans une connection ?

[Membre du Labo .NET]
Messages postés
11
Date d'inscription
lundi 4 août 2003
Statut
Membre
Dernière intervention
3 mars 2004

oui, il est possible d'envoyer plusieur requetes... je viens de faire un test avec un telnet sur un serveur www qui accepte les Connection: Keep-Alive et apres avoir envoyer la premiere requete et recu la reponse, la connection n'a pas ete fermer et il m'a ete possible d'envoyer une 2eme requete pour recevoir une autre page..

voila.. HTTP le supporte, comment .NET le supporte maintenant est ma question :p
Messages postés
656
Date d'inscription
mercredi 22 août 2001
Statut
Membre
Dernière intervention
11 mars 2005
13
Tu peux affecter la propriété Headers de la classe WebClient afin de spécifier le keepalive à True.
ensuite il te suffit de faire 2 appels consécutifs à OpenRead je suppose.

[Membre du Labo .NET]
Messages postés
11
Date d'inscription
lundi 4 août 2003
Statut
Membre
Dernière intervention
3 mars 2004

Je vais regarder du coter de open read alors...

merci