Estoy leyendo rss con lector xml.¿Cómo se especifica el tiempo de espera para XmlReader?
Y cuando la URL es mala, demora 60 segundos en fallar. ¿Cómo puedo especificar el tiempo de espera?
using (XmlReader reader = XmlReader.Create(url, settings))
Estoy leyendo rss con lector xml.¿Cómo se especifica el tiempo de espera para XmlReader?
Y cuando la URL es mala, demora 60 segundos en fallar. ¿Cómo puedo especificar el tiempo de espera?
using (XmlReader reader = XmlReader.Create(url, settings))
No sé si es posible cambiar el tiempo de espera XmlReader, pero tal vez pueda hacer algo diferente:
Uso WebRequest para obtener el código XML (esto tiene una propiedad de tiempo de espera) y se alimentan XmlReader este xml después de haberlo recibido:
WebRequest request = WebRequest.Create(url);
request.Timeout = 5000;
using (WebResponse response = request.GetResponse())
using (XmlReader reader = XmlReader.Create(response.GetResponseStream()))
{
// Blah blah...
}
Pase su propia transmisión a la llamada XmlReader.Create. Establezca el tiempo de espera que desee.
Puede crear su propia WebRequest y crear un XmlReader a partir de la secuencia de respuesta. Ver la respuesta a esta pregunta por los detalles:
También es posible que desee ver en la rosca para hacer girar este proceso fuera en un subproceso en segundo plano para que no se bloquee la interfaz de usuario, si eso es una preocupación en su caso . – Scott
esperaba que esta fuera la única opción. Gracias por el código detallado – st78
Gran idea. Gracias. –