Bir async/await yöntemine geri arama kullanan bir "klasik" eşzamansız yöntemi dönüştürmek çalışıyorum. dönüşümü kullanan bir "klasik" eşzamansız yöntemi dönüştürmek/sarmak
Bu
kodudur:authClient.LoginCompleted += authClient_LoginCompleted;
authClient.LoginAsync(new List<string>() { "var1", "var2" }, data);
static void authClient_LoginCompleted(object sender, LoginCompletedEventArgs e)
{ ... }
Nerede "data
" bir UserState
ve authClient_LoginCompleted
geri arama olduğunu.
Zaten bir uyumsuzluk/bekletme yöntemleri için mantığa sahibim, sorun Microsoft.Live ile Windows telefonundaki etkileşimin geri aramaları kullanmasıdır. Sahip olduğum mantığı değiştirmemek için semafor kullanarak bir çözüm düşünüyorum. Bu iyi bir seçenek olabilir mi?
Bu bağlantı TaskCompletionSource ait useges anlamak için çok yararlıdır: http://blog.galasoft.ch/archive
Ancak, sizin durumunuzda, sadece
UserState
parametresi olmadanLoginAsync
kullanabilirsiniz /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 + Okuyucu – user1845148