Tôi đang cố chuyển đổi phương thức không đồng bộ "cổ điển" sử dụng gọi lại thành phương thức async/await.chuyển đổi/bọc phương thức không đồng bộ "cổ điển" sử dụng gọi lại
Đây là mã:
authClient.LoginCompleted += authClient_LoginCompleted;
authClient.LoginAsync(new List<string>() { "var1", "var2" }, data);
static void authClient_LoginCompleted(object sender, LoginCompletedEventArgs e)
{ ... }
đâu "data
" là một UserState
, và authClient_LoginCompleted
là gọi lại.
Tôi đã có logic cho một phương pháp không đồng bộ/chờ đợi, vấn đề là sự tương tác trong cửa sổ điện thoại với Microsoft.Live sử dụng gọi lại. Tôi đang xem xét một giải pháp sử dụng semaphore, để không thay đổi logic tôi có. Đó có thể là một lựa chọn tốt?
Liên kết này là rất hữu ích cho sự hiểu biết useges của 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