我正在尝试将服务器上的某个.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/");
答案 0 :(得分:1)
愚蠢我没有看到请求有一个属性Keep Alive ........ request.KeepAlive = true;
这确保我在打开文档后仍然可以阅读它。