HttpWebResponse.ReadTimeout - délais d'attente non pris en charge?
Nous avons un problème où, sur une seule instance de notre produit, nous recevons une exception InvalidOperationException lorsque l'on tente de définir la ReadTimeout propriété d'un Système.Net.HttpWebResponse objet.
Ce problème se produit uniquement sur un seul exemple, où nous avons beaucoup de plusieurs sites sans ce problème. Nous avons essayé de recréer le problème localement, en vain.
Le code suivant illustre le problème.
Toutes les idées sont les bienvenues.
Grâce
private static XmlReader GenerateReaderFromResponse(HttpWebResponse response, HttpWebRequest request)
{
Stream responseStream = response.GetResponseStream();
responseStream.ReadTimeout = request.Timeout; //This is where the exception is generated - System.InvalidOperationException: Timeouts are not supported on this stream.
using (StreamReader responseReader = new StreamReader(responseStream, System.Text.Encoding.UTF8))
{
XmlReaderSettings readerSettings = new XmlReaderSettings();
readerSettings.ProhibitDtd = false;
string responseContent = responseReader.ReadToEnd();
return XmlReader.Create(new StringReader(responseContent), readerSettings);
}
}
OriginalL'auteur James Hutchison | 2012-03-20
Vous devez vous connecter pour publier un commentaire.
Ce que vous avez besoin est la HttpWebRequest.ReadWriteTimeout propriété.
Il indique le nombre de millisecondes avant la lecture (ou d'écriture) de l'opération sur la réponse
Stream
fois, jetant unWebException
avecStatus
ensemble de WebExceptionStatus.RequestCanceled
.De la la documentation msdn:
OriginalL'auteur ShdNx
D'abord, assurez-vous que
responseStream
etrequest
ne sont pas null.Vous devriez assurez-vous que le serveur n'a répondu à votre demande, après avoir essayé de lire la réponse.
Si vous le pouvez, veuillez également fournir le code qui envoie la demande.
Qu'entendez-vous par votre deuxième déclaration?
OriginalL'auteur Rafael Colucci