我正在开发一个简单的FTP应用程序,它可以读取服务器的服务器清单并下载新文件。为此,我必须阅读目录列表中的内容。当文件名和/或子目录名称不包含空格时,FTP ListDirectoryDetails可以正常工作。但是,如果目录有空格(即名称中的空格),我的读者会抛出ObjectDisposed异常。除了下面的方法之外,堆栈跟踪不包含任何用户代码(框架中其他方法调用的所有内容)。
我用Google搜索并用谷歌搜索了一些,但没有运气解释这个异常。任何帮助将不胜感激!谢谢!
public async Task<List<string>> ListDirectoryDetailsAsync()
{
var list = new List<string>();
var request = CreateRequest(WebRequestMethods.Ftp.ListDirectoryDetails);
using (var response = (FtpWebResponse)await request.GetResponseAsync())
using (var reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
{
while (!reader.EndOfStream)
{
list.Add(reader.ReadLine());
}
}
return list;
}
答案 0 :(得分:0)
我已经针对FileZilla Server(版本0.9.57 beta)在本地尝试了您的代码。您的代码可以很好地读取带有空格的目录名称。我认为您的问题特定于您的数据或环境。捕获网络流量可能会提供一些见解。