While(!File.Exists())でファイルが生成されるまでループ処理を行います。
try
{
using (var tokenSource = new CancellationTokenSource())
{
tokenSource.CancelAfter(this.timeoutMilliseconds);
while (!File.Exists(this.filePath))
{
tokenSource.Token.ThrowIfCancellationRequested();
Thread.Sleep(this.intervalMilliseconds);
}
}
}
catch (OperationCanceledException ex)
{
//Do Something
}
ファイルが生成されなかった場合に備えてタイムアウトさせる必要があるため、CancelationTokenSourceを使って一定時間後にThrowさせます。
またFile.Existsを実行するインターバルを調整するためにThread.Sleepを設けます。
コメント