Windows CE 6用の.NET Compact Framework 3.5でアプリケーションを開発しています。モバイルアプリケーションとPC間のデータ同期を自動化する必要があります。だから、.NETCFアプリケーションでは、System.IO.File.Exists(fullFilePath)を使用して、数秒ごとにチェックするwhileループがあります。これは、期待しているファイルがPCからモバイルデバイスに、ActiveSync接続を介して接続します。ActiveSyncを介して実行されるファイルシステム操作(コピー、削除、移動など)
モバイルアプリケーションがファイルを検出すると、StreamReaderを使用してそのファイルを開いて読み取ります。
私の問題は、File.Exists(fullFilePath)がtrueを返すことがありますが、その後のStreamReaderの使用がFileNotFoundExceptionで失敗する可能性があることです。
File.Exists()の呼び出しとStreamReaderのインスタンス化の間にファイルが削除される可能性を排除すると、例外がどのように発生する可能性がありますか?それは、ActiveSyncによるファイルコピーがアトミックではないため、File.Exists()がtrueを返してもファイルが実際に読み込みの準備ができていないためですか?
他の質問が表示されます – Kal