FTP在Win2012服务器上返回150 opendate

时间:2013-11-11 11:49:38

标签: azure ftp iis-8 virtual-server

以下代码在我自己的机器(Win7 ISS7)上工作得非常好但是当我将它移动到数据中心上运行IIS8的虚拟服务器时,我得到返回代码150(openingdata)。我可以通过此服务器上的IE访问ftp站点。这是编码问题还是配置。非常感谢任何帮助。

我也试过改变UsePassive,UseBinary,没有缓存,没有效果,把它放在天蓝色的机器上,但无济于事。

private List<string> Browse()
{
  // Get the object used to communicate with the server.
  FtpWebRequest request = (FtpWebRequest)WebRequest.Create(m_Url);

  request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
  result.Add("Timeout = " + request.Timeout.ToString());
  // This example assumes the FTP site uses anonymous logon.
  request.Credentials = new NetworkCredential(m_Username, m_Password);
  request.CachePolicy = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStore);

  if (m_Proxy != null)
  {
    request.Proxy = m_Proxy;
  }


  bool started = false;
  using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
  {
    Stream responseStream = response.GetResponseStream();

    using (StreamReader reader = new StreamReader(responseStream))
    {
      string line = reader.ReadLine();
      while (line != null)
      {
        result.Add(line);
        line = reader.ReadLine();
      }
    }
  }
  return result;
}

1 个答案:

答案 0 :(得分:0)

原来这是程序错误

FtpWebRequest request =(FtpWebRequest)WebRequest.Create(m_Url);

应该是

FtpWebRequest request =(FtpWebRequest)* Ftp * WebRequest.Create(m_Url);