FAZER O PROGRAMA ESPERAR X SEGUNDOS PARA CONTINUAR

MARCELOKROL 06/12/2016 09:35:09
#469446
Bom dia

Estou comunicando com um aplicativo externo com o meu sistema. Pra isso eu gero um arquivo texto, gravo na pasta dele e espero ATé 60 segundos pela resposta. Digo até por que ela pode ocorrer antes, os 60 segundos são o tempo máximo (timeout) para ocorrer uma resposta.
Pra isso eu faço assim:
  
for (int i = 0; i < 60; i++)
{
System.Threading.Thread.Sleep(1000); //espera 1 segundo

if (System.IO.File.Exists([Ô]C:\\App\esposta.txt[Ô])) break;
}


Então gostaria de saber se existe alguma outra forma de fazer isso, ou esta é unica forma. Já andei pesquisando e olhando na net mais nao encontrei nada a respeito.
JONILTON 06/12/2016 10:00:01
#469448
Bom dia, você pode usar o Timer

private Timer timer = new Timer() { Interval = 1000 /* 1 segundo */ };
private int totalSegundos = 0;

private void RetornoForm_Load(object sender, EventArgs e)
{
timer.Tick += new EventHandler(timer_Tick);
timer.Start();
}

void timer_Tick(object sender, EventArgs e)
{
totalSegundos++;

if (System.IO.File.Exists([Ô]C:\\App\esposta.txt[Ô]) || totalSegundos >= 60)
timer.Stop();
}
JABA 06/12/2016 14:41:55
#469450
Resposta escolhida
JONILTON 06/12/2016 15:19:56
#469451
Citação:

:
Você pode fazer isso com o FileSystemWatcher.

raphaelcardoso.com.br/monitorando-arquivos-e-diretorios-com-filesystemwatcher/


Tópico encerrado , respostas não são mais permitidas