No utilice el método Load de la clase XmlDataDocument directamente; tiene poco o ningún modo de influir en el comportamiento cuando se trata de solicitudes HTTP de larga ejecución.
En su lugar, use las clases HttpWebRequest y HttpWebResponse para hacer el trabajo por usted, y luego cargue la respuesta subsiguiente en su documento.
Por ejemplo:
HttpWebRequest rq = WebRequest.Create("http://www.globalgear.com.au/productfeed.xml") as HttpWebRequest;
//60 Second Timeout
rq.Timeout = 60000;
//Also note you can set the Proxy property here if required; sometimes it is, especially if you are behind a firewall - rq.Proxy = new WebProxy("proxy_address");
HttpWebResponse response = rq.GetResponse() as HttpWebResponse;
XmlTextReader reader = new XmlTextReader(response.GetResponseStream());
XmlDocument doc = new XmlDocument();
doc.Load(reader);
He probado este código en una instancia de aplicación local y el XmlDocument se rellena con los datos de su dirección URL.
También puede sustituir en XmlDataDocument por XmlDocument en el ejemplo anterior. Prefiero usar XmlDocument ya que no está marcado (todavía) como obsoleto.
me he envuelto en esta función para usted:
public XmlDocument GetDataFromUrl(string url)
{
XmlDocument urlData = new XmlDocument();
HttpWebRequest rq = (HttpWebRequest)WebRequest.Create(url);
rq.Timeout = 60000;
HttpWebResponse response = rq.GetResponse() as HttpWebResponse;
using (Stream responseStream = response.GetResponseStream())
{
XmlTextReader reader = new XmlTextReader(responseStream);
urlData.Load(reader);
}
return urlData;
}
llamar simplemente usando:
XmlDocument document = GetDataFromUrl("http://www.globalgear.com.au/productfeed.xml");
Hola, gracias por su respuesta, he usado el mismo que menciona arriba, todavía estoy recibiendo el mismo error. Configuré el tiempo de espera en 60000. – chetan1539
¿Puede visitar la URL de su navegador y lleva mucho tiempo? Si lo hace, aumente el tiempo de espera. ¿Sabes si tienes un proxy? Si tiene un proxy, puede necesitar configurar esto en el código. – dash
sí Visito la url pero no demora demasiado en mostrar los contenidos en la página. – chetan1539