FTP(Windows Server 2008 R2)にファイルが送信され、サービスの1つがファイルを選択して処理します。FTPにあるファイルは500MB以上のオーダーです。C#でファイルがFTPディレクトリへのコピーを完了したことをどのように判断できますか?ファイルがまだコピーされている間は読みたくありません。
質問する
109 次
2 に答える
2
それを読んで排他的なロックをかけてみてください
string filename = "Test.txt";
try
{
using(FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.None))
{
// Read content here
}
}
catch(IOException)
{
// Occurs if the file cannot be exclusively locked.
}
于 2012-12-17T22:47:51.360 に答える
1
通常、ファイルは書き込み操作中にftpサーバーによってロックされます。
したがって、実行できるのは、読み取り専用のロックを使用してファイルを開いてみることです。それが失敗した場合(例外をスローした場合)、ファイルが利用できないことがわかります。
于 2012-12-17T22:46:16.227 に答える