2010-09-02 24 views
0

J'essaye d'obtenir un fichier .xml qui est quelque part sur un serveur chargé dans un streamerader pour le diffuser en XML et le traiter. Voici ce que je reçois:C ftp télécharger et diffuser à l'erreur XML

EndOfStream = 'reader.EndOfStream' a lancé une exception de type 'System.ObjectDisposedException'

Je ne vois que im connecté sur le serveur etc: StatusDescription = « 226 Transfert complet "

Il me semble que les données se ferment de sorte que je ne peux pas lire les données à mon xml. Que puis-je faire pour résoudre ce problème?

  // Get the object used to communicate with the server. 
      FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://194.109.xxx.xxx/alldata.xml"); 
      request.Credentials = new NetworkCredential("xxx", "xxx"); 
      request.UseBinary = true; 
      request.Method = WebRequestMethods.Ftp.DownloadFile; 

      FtpWebResponse response = (FtpWebResponse)request.GetResponse(); 

      Stream responseStream = response.GetResponseStream(); 
      StreamReader reader = new StreamReader(responseStream); 
      string xml = reader.ReadToEnd(); 
      XmlDocument thisXmlDoc = new XmlDocument(); 
      thisXmlDoc.LoadXml(xml); 

      XPathNavigator thisNavigator = thisXmlDoc.CreateNavigator(); 
      XPathNodeIterator dossierNodes = thisNavigator.Select("/Dossiers/"); 

Répondre

1

stupide Je ne vois pas cette demande a une propperty KeepAlive ........

request.KeepAlive = true;

Cela m'a permis de le lire après avoir ouvert le document.