Piszę aplikację sieciową opartą na paradygmacie await / sleep.
Czasami zdarzają się błędy połączenia i z mojego doświadczenia wynika, że warto poczekać jakiś czas, a następnie ponowić operację.
Problem polega na tym, że jeśli używam Thread.Sleep lub innej podobnej operacji blokowania w await / async, blokuje całą aktywność w wątku wywołującego.
Czym powinienem zastąpić Thread.Sleep (10000), aby uzyskać taki sam efekt jak
await Thread.SleepAsync(10000)
?
AKTUALIZACJA
Wolę odpowiedź, która robi to bez tworzenia dodatkowego wątku