Beste asynchrone while-Methode
Ich muss einen asynchronen Code schreiben, der im Wesentlichen versucht, wiederholt mit einer Datenbank zu kommunizieren und diese zu initialisieren. Sehr oft schlägt der erste Versuch fehl, daher muss er es erneut versuchen.
In früheren Zeiten hätte ich ein Muster ähnlich dem folgenden verwendet:
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
}
}
Ich stelle fest, dass in letzter Zeit viele Änderungen an .NET in Bezug auf asynchrone Muster vorgenommen wurden. Meine Frage ist also, ob dies die beste Methode ist oder ob es sich lohnt, die zu untersuchenasync
Sachen und wenn ja, wie implementiere ich dieses Muster inasync
?
Aktualisieren
Zur Verdeutlichung möchte ich diese Arbeit asynchron erzeugen, damit die Methode, die sie erzeugt, nicht warten muss, bis sie beendet ist, da sie im Konstruktor eines Dienstes erzeugt wird, sodass der Konstruktor sofort zurückkehren muss.