Ho un'applicazione console che si avvia, ospita un sacco di servizi (avvio di lunga durata), quindi attende che i client ci chiamino. Ho dei test di integrazione che avviano questa applicazione di console e fanno chiamate "client". Come posso aspettare che l'applicazione della console completi l'avvio prima di effettuare le chiamate client?Come posso attendere fino a quando un'applicazione della console non è inattiva?
Voglio evitare di fare Thread.Sleep(int)
perché questo dipende dal tempo di avvio (che può cambiare) e spreco tempo se l'avvio è più veloce.
Process.WaitForInputIdle
funziona solo su applicazioni con un'interfaccia utente (e ho confermato che genera un'eccezione in questo caso).
Sono aperto a soluzioni scomode come, fare in modo che l'applicazione console scriva un file temporaneo quando è pronto.
L'applicazione di console ospita i servizi WCF. Il "client" effettua chiamate WCF. Se l'applicazione della console non ha completato l'avvio, il client ottiene eccezioni Endpoint non trovato. –