Sto leggendo rss con il lettore xml.Come specificare il timeout per XmlReader?
E quando l'url è male ci vogliono 60 secondi per fallire. Come posso specificare il timeout?
using (XmlReader reader = XmlReader.Create(url, settings))
Sto leggendo rss con il lettore xml.Come specificare il timeout per XmlReader?
E quando l'url è male ci vogliono 60 secondi per fallire. Come posso specificare il timeout?
using (XmlReader reader = XmlReader.Create(url, settings))
Non so se è possibile modificare il timeout XmlReader, ma forse si può fare qualcosa di diverso:
Usa WebRequest per ottenere il codice XML (questo ha una proprietà Timeout) e si nutrono XmlReader questo xml dopo averlo ricevuto:
WebRequest request = WebRequest.Create(url);
request.Timeout = 5000;
using (WebResponse response = request.GetResponse())
using (XmlReader reader = XmlReader.Create(response.GetResponseStream()))
{
// Blah blah...
}
Passare il proprio stream alla chiamata XmlReader.Create. Imposta il timeout che preferisci.
È possibile creare la propria WebRequest e creare un XmlReader dal flusso di risposta. Vedere la risposta a questa domanda per i dettagli:
Si potrebbe anche voler guardare in threading a girare questo processo fuori su un thread in background in modo da non bloccare la propria interfaccia utente, se questo è un problema nel tuo caso . – Scott
mi aspettavo che questa fosse solo un'opzione. Grazie per il codice dettagliato – st78
Ottima idea. Grazie. –