0

我有以下函数,它应该获取远程 FTP 目录中的文件列表。但是,代码不会出错,但也不会返回任何内容。我已经跟踪到代码到达response = reqFTP.GetReponse()但没有进一步 - 没有生成错误,但是在此行之后的日志消息不会被触发,但到此行为止。

任何人都可以帮忙吗?

private string[] GetFileList()
{
    string[] downloadFiles;
    StringBuilder result = new StringBuilder();
    WebResponse response = null;
    StreamReader reader = null;

    try
    {
        FtpWebRequest reqFTP;
        reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://www.myserver.com/"));
        reqFTP.UseBinary = true;
        reqFTP.Credentials = new NetworkCredential("username", "password");
        reqFTP.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
        reqFTP.Proxy = null;
        reqFTP.KeepAlive = false;
        reqFTP.UsePassive = true;
        response = reqFTP.GetResponse();
        reader = new StreamReader(response.GetResponseStream());
        string line = reader.ReadLine();
        while (line != null)
        {
            result.Append(line);
            result.Append("\n");
            line = reader.ReadLine();
        }
        result.Remove(result.ToString().LastIndexOf('\n'), 1);
        return result.ToString().Split('\n');
    }
    catch (Exception ex)
    {
        if (reader != null)
        {
            reader.Close();
        }
        if (response != null)
        {
            response.Close();
        }
        downloadFiles = null;
        return downloadFiles;
    }
}

注意:我已经确认有问题的目录有文件,并且用户名/密码是正确的。

4

0 回答 0