C#ftp下载并流式传输到XML错误

时间:2010-09-02 12:22:47

标签: c# .net xml ftp stream

我正在尝试将服务器上的某个.xml文件加载到streamerader中,以将其流式传输到XML并进行处理。这就是我得到的:

EndOfStream ='reader.EndOfStream'引发了类型'System.ObjectDisposedException'的异常

我确实看到我登录服务器等: StatusDescription =“226传输完成。\ r \ n”

我认为数据已关闭,因此我无法将数据读出到我的xml。 我该怎么做才能解决这个问题?

            // 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/");

1 个答案:

答案 0 :(得分:1)

愚蠢我没有看到请求有一个属性Keep Alive ........ request.KeepAlive = true;

这确保我在打开文档后仍然可以阅读它。

相关问题