7
コールバックを使用する「従来の」非同期メソッドを非同期/待機メソッドに変換しようとしています。コールバックを使用する「古典的」非同期メソッドを変換/ラップする
これはコードです:
authClient.LoginCompleted += authClient_LoginCompleted;
authClient.LoginAsync(new List<string>() { "var1", "var2" }, data);
static void authClient_LoginCompleted(object sender, LoginCompletedEventArgs e)
{ ... }
"data
は" UserState
で、authClient_LoginCompleted
がコールバックです。
私はすでに非同期/待機メソッドのロジックを持っていますが、問題は、Windows PhoneでMicrosoft.Liveとの対話がコールバックを使用していることです。私は、ロジックを変更しないために、セマフォを使用するソリューションを検討しています。それは良い選択肢でしょうか?
このリンクはTaskCompletionSourceのusegesを理解するのに非常に有用である: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 +リーダー – user1845148