2009-08-21 20 views
0

私はサーバーからファイルをダウンロードし、Process.Start()を使用してファイルを開き、ファイルウォッチャーをファイルに添付して変更をキャッチし、サーバーに再アップロードします。FileSystemWatcher - ファイルが閉じられたときを判断する方法?

FileWatcherまたは他の方法を使用してファイルが閉じられたときを判断する方法はありますか?問題は、ファイルの視聴をやめる方法を決めることができず、無期限に視聴したくないということです。

アイデア?私は5分のループを入れて、ちょうど利用できるようにするために、ファイルを監視して何をしたか、事前に

おかげ

ジョン

+1

あなたはこれらのいずれかで、あなたの答えを見つけることがあります。http://stackoverflow.com/questions/561467/filesystemwatcher-waitforchanged-returns-but-there-is-still-a-lock-on-the-ファイル、http://stackoverflow.com/questions/699538/file-access-error-with-filesystemwatcher-when-multiple-files-are-added-to-a-direc –

答えて

1

。そうすれば私は自由になる時間を与えることができましたが、それでもなお決定的な時間がありました。それが私のシステムで5分でクリアされていなければ、何かが間違っています。あなたの状況にあなたの時間制限を設定する必要があります。私はどこかからこのアイデアを得ました。もうどこがいいのかわかりません。

 DateTime EndTime = System.DateTime.Now.AddMinutes((double)timeOut); 

     while (System.DateTime.Now <= EndTime) 
     { 
      try 
      { 
       using (Stream stream = System.IO.File.Open(filename, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite)) 
       { 
        if (stream != null) 
        { 
         break; 
        } 
       } 
      } 
      catch (FileNotFoundException) 
      { 
       // 
      } 
      catch (IOException) 
      { 
       // 
      } 
      catch (UnauthorizedAccessException) 
      { 
       // 
      } 


      System.Threading.Thread.Sleep(sleepTime); 
     } 
関連する問題