次のコードは、自分のマシン (Win7 ISS7) からは問題なく動作しますが、データセンターで IIS8 を実行している仮想サーバーにコードを移動すると、リターン コード 150 (openingdata) が返されます。このサーバーの IE 経由で ftp サイトにアクセスできます。これはコーディングの問題ですか、それとも構成ですか。どんな助けでも大歓迎です。
また、UsePassive、UseBinary、キャッシュなしを効果なしに変更して、Azure マシンに配置しようとしましたが、役に立ちませんでした。
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;
}