Sto provando a convertire un metodo asincrono "classico" che utilizza un callback in un metodo async/await.convert/wrap un metodo asincrono "classico" che utilizza una callback
Questo è il codice:
authClient.LoginCompleted += authClient_LoginCompleted;
authClient.LoginAsync(new List<string>() { "var1", "var2" }, data);
static void authClient_LoginCompleted(object sender, LoginCompletedEventArgs e)
{ ... }
Dove "data
" è una UserState
, e authClient_LoginCompleted
è il callback.
Ho già la logica per i metodi asincrono/attendi, il problema è che l'interazione in windows phone con Microsoft.Live utilizza i callback. Sto considerando una soluzione che usa il semaforo, per non cambiare la logica che ho. Potrebbe essere una buona opzione?
Questo legame è molto utile per comprendere le useges del TaskCompletionSource: http://blog.galasoft.ch/archive /2013/01/27/using-asyncawait-with-webclient-in-windows-phone-8-or-taskcompletionsource.aspx?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+galasoft+%28Laurent+Bugnion+%28GalaSoft%29%29&utm_content = + Google Reader – user1845148