El mejor método asincrónico mientras
Necesito escribir algún código asíncrono que esencialmente intente hablar repetidamente e inicializar una base de datos. Muy a menudo, el primer intento fallará, por lo tanto, el requisito es que vuelva a intentarlo.
En días pasados habría utilizado un patrón similar a:
void WaitForItToWork()
{
bool succeeded = false;
while (!succeeded)
{
// do work
succeeded = outcome; // if it worked, mark as succeeded, else retry
Threading.Thread.Sleep(1000); // arbitrary sleep
}
}
Me he dado cuenta de que recientemente se han realizado muchos cambios en .NET con respecto a los patrones asíncronos, por lo que mi pregunta es si este es el mejor método para usar o si vale la pena explorar elasync
cosas y si es así, ¿cómo puedo implementar este patrón enasync
?
Actualizar
Solo para aclarar, quiero generar este trabajo de forma asíncrona para que el método que lo genera no tenga que esperar a que termine, ya que se generará en el constructor de un servicio, por lo que el constructor debe regresar al instante.