C# - Comment lire un flux continu de XML sur HTTP
Je suis à essayer de comprendre la meilleure façon de consommer un flux continu de données XML à partir d'un service qui est de l'envoi des données comme une "constante" nourrir sur HTTP.
J'ai été vu à l'aide de HttpWebRequest/Réponse, mais je ne suis pas sûr de comment cela va se comporter si les données en continu des flux.
Toutes les pensées?
OriginalL'auteur | 2009-04-22
Vous devez vous connecter pour publier un commentaire.
Je l'ai fait avant, pas avec XML, mais avec des données qui doivent être analysées pour les changements d'état d'une demande. HttpWebResponse.GetResponseStream() la méthode a bien fonctionné pour cette. Assurez-vous d'appeler Close() sur ce flot lorsque vous avez terminé. Je suggère un bloc finally.
Ou bien:
HttpWebRequest.GetResponseStream()
méthode. Vous devez obtenir unHttpWebResponse
objet à l'aide deHttpWebRequest.GetResponse()
et appelGetResponseStream()
. Également dans lefinally
blocreq
n'est pas utilisé, mais la précitésResponse
.d'accord, j'ai juste tapé de la mémoire, non pas à partir d'un projet concret.
Comment serait-ce de travailler avec XML? Le document XML est valide jusqu'à ce que l'ensemble du document xml a été téléchargé, le genre de défaites le but de streaming.
OriginalL'auteur esac
Devrait être en mesure de le faire assez facilement. Vous aurez besoin pour obtenir le flux de réponse en appelant la Réponse.GetResponseStream (), puis utilisez la async ResponseStream.BeginRead() dans une boucle.
Il n'y a pas de paramètre de Délai d'attente sur la Réponse, mais si vous obtenez régulièrement des données envoyées il devrait être bon.
OriginalL'auteur Fung