2011-07-28 25 views
0

Rebex sftpのSftp.DeleteFile(string filenameを使用すると、SftpException: No such file; File not found.が表示されます。これは、最初にファイルが存在するかどうかをチェックしているためです。rebex sftpファイルの削除に関する問題

はここで、関連するサンプルコードです:

foreach (var file in fileList) 
{ 
    if(ftp.Connection.FileExists(file.Name)) 
    { 
     try 
     { 
      ftp.Connection.DeleteFile(file.Name); 
     } 
     catch (SftpException ex) 
     { 
      Log.Error("Deletion failed.", ex); 
     } 
    } 
    else 
    { 
     Log.Debug(string.Format("'{0}' not found.", file.Name)); 
    } 
} 

Rebexのオンラインドキュメントライブラリに慣れていない人のためhereを見つけることができます。

ここで何が起こっているかについてのアイデアはありますか?

+0

通常、ライブラリはサーバのエラーメッセージを変換します。あなたはRebexサポートを試しましたか(彼らは反応があります)? –

答えて

1

デビッドはまた、同様の状況に便利ですので、私は、あまりにもここで解決策を記録していますhttp://forum.rebex.net/questions/1635/sftpexception-no-such-file-file-not-found

で、弊社のサポートフォーラムでこの質問をしました。

  • ファイルはありませんが、アプリケーションがサーバー上のファイルをロックしたストリームを開き
  • SFTPサーバー上に存在する
  • ファイルを削除することはできませんし、サーバーレポート「いいえそのようなファイルは、ファイルが見つかりません。」エラーメッセージ
  • これらのストリームを閉じると、問題が解決され、ファイルを今すぐ削除できます。

残念ながら、SFTPサーバーのエラーメッセージはこの場合あまり役に立ちませんでした。 "アクセス拒否"のようなものがもっと適切でないかどうか尋ねることができます。

+0

私はこれもここに掲載しています。ありがとうマーティン。 –

関連する問題