2011-06-30 13 views
0

私はASP.NET Webサービスでシンプルなクラスを持っています。それを私のローカルシステム上にあっても、私が設定した開発環境上で細かい動作しますが、いつでも、私は次のエラーを取得する運用サーバー上のファイルを送信しよう:IIS7.5と.NET 4.0でFTPWebRequestを使用する際のエラー

Exception Error: The underlying provider failed on Open. 

ここにあるコードがあります

public class FTPHelper 
{ 
     public static string SendFile(string ftpuri, string username, string password, string ftppath, string filename, byte[] datatosend) 
     { 
      if (ftppath.Substring(ftppath.Length - 1) != "/") 
      { 
       ftppath += "/"; 
      } 
      FtpWebRequest ftp = (FtpWebRequest) FtpWebRequest.Create(ftpuri + ftppath + filename); 
      ftp.Method = WebRequestMethods.Ftp.UploadFile; 
      ftp.Credentials = new NetworkCredential(username, password); 
      ftp.UsePassive = true; 
      ftp.ContentLength = datatosend.Length; 
      Stream requestStream = ftp.GetRequestStream(); 
      requestStream.Write(datatosend, 0, datatosend.Length); 
      requestStream.Close(); 

      FtpWebResponse ftpresponse = (FtpWebResponse)ftp.GetResponse(); 

      return ftpresponse.StatusDescription; 
     } 
    } 

この問題のトラブルシューティングを行うにはどうすればよいですか。サーバーは、Windows 2008 Server上で実行されているIIS 7.5です。私は.NET 4.0を使用しています。 FtpWebResponseが機能しない単純な理由はありますか?

セキュリティ上の問題が発生した場合は、回避策がありますか?私はすぐにこれを稼働させる必要があります。

答えて

0

セキュリティ上の問題で、FTP接続を確立する権限を持たないWebサイトが実行されていたユーザーです。私はプログラマーでウェブサイト管理者ではないので、これを達成する手掛かりはありませんでした。 IIS上でMicrosoftのIISヘルプを検索した後、最終的にはその方法で作業しました。ユーザーを変更するためのソリューションは、スーパーユーザである:

https://superuser.com/q/307168/68967

誰もが任意のより良い解決策を持っている場合は、ご返信ください。誰もがこれがセキュリティ上の問題を引き起こすと感じたら、さらに情報を投稿してください。

+0

私は一週間後、一人ではこれで私を助けることができなかったことは驚きです。恩恵を受けたとしても、誰も答えはありませんでした。 – stephenbayer

関連する問題