Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#ftp下载并流式传输到XML错误_C#_.net_Xml_Ftp_Stream - Fatal编程技术网

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

C#ftp下载并流式传输到XML错误,c#,.net,xml,ftp,stream,C#,.net,Xml,Ftp,Stream,我试图获取服务器上某个地方的.xml文件,并将其加载到Streamrader中,以将其流式传输到xml并对其进行处理。这就是我得到的: EndOfStream='reader.EndOfStream'引发了类型为'System.ObjectDisposedException'的异常 我确实看到im登录到服务器上,等等: StatusDescription=“226传输完成。\r\n” 在我看来,数据被关闭了,因此我无法将数据读取到xml中。 我能做些什么来解决这个问题 /

我试图获取服务器上某个地方的.xml文件,并将其加载到Streamrader中,以将其流式传输到xml并对其进行处理。这就是我得到的:

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

我确实看到im登录到服务器上,等等: 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/");

愚蠢的我没有看到那个请求有一个适当的保留期

request.KeepAlive=true

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