以下代码在我自己的机器(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;
}
答案 0 :(得分:0)
原来这是程序错误
FtpWebRequest request =(FtpWebRequest)WebRequest.Create(m_Url);
应该是
FtpWebRequest request =(FtpWebRequest)* Ftp * WebRequest.Create(m_Url);